当前位置: 首页 > news >正文

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

前言

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.dtcms.com/a/414489.html

相关文章:

  • 智能进化:高端平板操控系统的技术革新
  • 网站开发专业职业规划微信小程序游戏开发教程
  • 中国工业互联网公司排名seo工程师是什么职业
  • 手机锁屏后WiFi流量/数据流量消耗的深层原因与解决方案
  • 使用 Entity Framework Code First 方法创建 ASP.NET Core 5.0 Web API
  • 网站建设前的分析公司概况了解google seo是什么啊
  • 【C++实战㊾】C++11新特性实战:nullptr与类型推导,解锁编程新姿势
  • Python笔记之Python中的`@`装饰器总结笔记
  • 存储器映射寄存器MMR(Memory-Mapped Register)
  • 【Big Data】DataX 3.0 星型数据链路架构的实践与价值
  • 芯片和半导体:三星发动2nm工艺价格战
  • NLP:讲解Bert模型的变体
  • wordpress成品站源码义乌网站建设九
  • 高通平台WiFi学习--- WLAN 进阶:无需开启 WiFi 也能使用 P2P 功能的实现与探索
  • 【论文笔记】基于深度学习的图像分割研究综述 和 基于深度学习的二分图像分割综述
  • 【足式机器人算法】#2 奖励函数设计
  • 机器人小脑的控制算法有哪些 ?
  • 网站程序上传教程wordpress 微媒体插件
  • 小米投下语音AI“核弹”:MiMo-Audio开源,语音领域的“GPT-3时刻”来了
  • 交易猫假网站制作wordpress 安装目录
  • C++ 类型推导(第三部分)
  • 彩票网站注册软件开发外包合同模板
  • 社区互助养老系统|基于java和小程序的社区互助养老系统小程序设计与实现(源码+数据库+文档)
  • 通用智能过滤器使用指南:提升Django Admin数据筛选体验
  • 用友加密狗注册网站嘉兴网页制作公司
  • 我找伟宏篷布我做的事ko家的网站网站建设谈判技巧
  • 【基础软件专项训练营】笔记
  • 地平线机器人具身导航快慢推理新探索!FSR-VLN:基于分层多模态场景图快慢推理的视觉语言导航
  • [分享] 千呼万唤始出来《WX小程序反编译教程》
  • 网站建设费用模板印象笔记同步wordpress