实用指南:MacOS - Clang使用bits/stdc++.h - 非官方(竞赛用) - 通用方法

news/2025/10/24 19:59:43/文章来源:https://www.cnblogs.com/yxysuanfa/p/19164138

前言

Windows和MacOS双用户,Windows上cpp打竞赛/刷题时使用bits/stdc++.h确实方便,毕竟不是实际项目的开发。

但MacOS的默认clang不包含bits/stdc++.h头文件,检索、github多星仓库的方法都不通用,故写此文已记之。

并且每次mac更新了developer kit之后,之前手动添加的bits/stdc++.h头文件都会失效,需要重新添加。

原理

不论是编译过程中还是在IDE的语法检测过程中,(若无指定特殊参数)都是会去默认库文件路径下查找目标头文件。

而clang默认没有bits/stdc++.h这个头文件,所以没办法#include <bits/stdc++.h>

所以直接新建个这个文件,放到库文件目录下就好了。

方法

网上clang库文件的位置都是一个固定路径,不同版本的MacOS(如最近新出的MacOS26)路径也不同。

如何确定clang默认库文件的位置?两个方法吧

方法一:IDE中获取

如果你使用IDE(大概率),如VsCode,直接随便创建个cpp文件,如:

#include <iostream>

然后鼠标在iostreamCommand+单击鼠标左键就好。

这样VsCode就会打开iostream这个文件,这个文件所在路径就是clang库文件的默认路径。(如:/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/

方法二:使用clang命令

MacOS上打开终端,输入命令clang -E -x c++ - -v < /dev/null,可以看到输出中包含如下内容:

#include "..." search starts here:
#include <...> search starts here:/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/Library/Developer/CommandLineTools/usr/lib/clang/17/include/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Library/Developer/CommandLineTools/usr/include/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks (framework directory)/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/SubFrameworks (framework directory)
End of search list.

看到没,#include <...> search starts here:,也就是说#include <xxx>的时候是从这些路径下开始搜索头文件的。

随便选一个(如第一个的/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/即可)。

最后的头文件添加

在上一步找到的库文件默认路径下新建文件夹bits,并将stdc++.h放入这个文件夹下就好了。

至于stdc++.h这个文件怎么来?可以在Windows上复制(maybe),也可以使用Github上的这个。

End

The Real End, Thanks!

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cgroup

cgroupcgroup v1使用流程: mount -t tmpfs cgroup_root /sys/fs/cgroup mkdir -p /sys/fs/cgroup/cpu mkdir -p /sys/fs/cgroup/memory mount -t cgroup -o cpu none /sys/fs/cgroup/cpu mount -t cgroup -o memory n…

设计模式:代码界的 “光之巨人” 养成指南(附 C++ 实战)

参考 https://bbs.huaweicloud.com/blogs/397606 https://refactoring.guru/design-patterns/catalog 一、概述 1.1、什么是设计模式 官方定义说得有点绕:“一套被反复使用、多数人知晓、分类编目的代码设计经验总结”…

详细介绍:17-Language Modeling with Gated Convolutional Networks

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

数字人:数字人公司排行榜及技术深度剖析

数字人企业:探索虚拟与现实的融合新纪元 数字人企业的创新之路与市场机遇解析 数字人企业排行榜及技术深度剖析 正文: 在当今科技飞速发展的时代,数字人企业正成为推动数字化转型的重要力量。它们不仅重塑了人机交互…

【同余最短路】学习笔记

例题 \(1\):P3403 跳楼机:给定正整数 \(h,x,y,z\),求有多少 \(d\in[1,h]\) 满足 \(ax+by+cz=d-1\),其中 \(a,b,c\) 为非负整数。这道题第一眼给我的印象是一道数论题,但仔细想了想发现做不了。注意到 \(x,y,z\) 的…

ESP32-S3入门第七天:UART串口通信与设备交互 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

数字人:数字人公司深度解析与未来展望

数字人企业 数字人企业新趋势:虚拟与现实的融合探索 数字人企业深度解析与未来展望 在当今科技飞速发展的时代,数字人企业正成为推动创新与变革的重要力量。数字人,作为虚拟与现实交互的桥梁,不仅改变了人机交互的…

CSP/NOIP 复习:单调栈

最近模拟赛打的都不是太好,先随便复习复习吧,马上就要 CSPS 了,我可以考好的。 这里放一些单调栈的题目,笛卡尔树先不说,这个我已经忘了,后天复习一下。 本体 栈中维护有单调性的数据,入栈时维护这个单调性,这…

数字人企业:数字人公司排行榜深度解析

数字人企业新纪元:创新科技重塑未来生态 探秘数字人企业的核心驱动力与市场前景 数字人企业排行榜深度解析与趋势洞察 正文: 在数字化浪潮席卷全球的今天,数字人企业正成为科技领域的一颗新星,推动着虚拟与现实的深…

数字人公司:数字人新趋势技术驱动与市场前景解析

数字人企业 数字人企业新趋势:技术驱动与市场前景解析 数字人企业排行榜与深度点评 在当今科技飞速发展的时代,数字人企业正成为人工智能和虚拟交互领域的热门焦点。这些企业通过创新技术,推动着虚拟数字人在娱乐、…

算法分析--生成排列

排列简介全排列,有顺序要求。 递归实现如何实现查找第u位置有哪些数字可以用,选择查到的第一个,填上去。if(u > n){for(int i=1;i<=n;i++)cout<<path[i]<<" ";cout<<endl; }再去…

三大安全认证授权协议深度对比:OAuth、OpenID Connect与SAML

本文深入解析OAuth、OpenID Connect和SAML三大主流安全认证协议的技术原理、架构差异与应用场景,帮助开发者在Web应用中实现安全可靠的身份验证与授权机制,涵盖协议流程、安全机制对比及最佳实践建议。安全认证与授权…

数据绑定相关概念理解

中文译本将 Data Binding 译为了数据绑定,很大程度上其实是拼音音译,没有实际意义。WPF 中的Binding 更多地是表达一种桥梁关系。Binding 对象的两端,分别是源(Source)和目标(Target),源即数据来源,目标就是数据要…

数字人企业:数字人公司排行榜Top 3解析

数字人企业:探索行业创新与未来趋势 数字人企业的崛起与发展洞察 数字人企业排行榜Top 3解析 在数字人领域,众多企业凭借技术实力和市场表现脱颖而出。根据综合评估,以下是当前表现突出的三家数字人企业,优先以像衍…

WPF 深入系列.2.布局环境.布局控件.Grid

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

(简记)(自用)线段树区间拆分时间复杂度证明

如题,假定整数域线段树初始区间 \([1,n]\),每次划分长度不为 \(1\) 的区间 \([l,r]\) 会找到 \(mid=\lfloor\frac{l+r}{2}\rfloor\),划分成 \([l,mid],[mid+1,r]\)。求证划分任意合法区间 \([L,R]\) 最多使用 \(O(\…

冬日绘板 2026 珂朵莉计划 如何获取 Token

冬日绘板是全国 OIer 的一项社交活动,一般于每年元旦春节进行,主要博弈目标为获取更多的 tokens。形式类似于曾经的 bilibili 夏日绘板,游玩例子见 2024冬日绘版回忆录——听取MLE声一片。 冬日绘板 2026 珂朵莉计划…

数字人企业:数字人公司技术驱动的三大标杆

数字人企业:AI浪潮下的产业新势力 从技术突破到商业落地,数字人企业如何重塑行业生态 像衍科技领衔,数字人企业开启三维交互新纪元 一、数字人企业排行榜:技术驱动的三大标杆 在AI技术加速迭代的背景下,数字人企业…

Linux下的拼音输入法 (2)

此贴介绍sunpinyin. 它的用户词典是~/.sunpinyin/userdict,下面的程序往里面加词:// -I/usr/include/sunpinyin-2.0 add-word.cpp -lsunpinyin#include <ime-core/userdict.h> #include <pinyin/pinyin_dat…

数字人:怎么选择数字人实力公司

数字人企业哪家好?解锁未来科技新势力 2025数字人企业竞争力解析与行业领跑者揭秘 数字人企业技术生态图谱:从创新到落地的全链路观察 第一:数字人企业排行榜——2025年度三大标杆企业解析 数字人技术的爆发式增长,…