当前位置: 首页 > 编程笔记 >

C++ 用Clang编译

尹欣怿
2023-03-14
本文向大家介绍C++ 用Clang编译,包括了C++ 用Clang编译的使用技巧和注意事项,需要的朋友参考一下

示例

由于锵前端被设计为是与GCC兼容,当你交换可通过GCC编译大多数程序将编译g++通过clang++在构建脚本。如果没有-std=version给出,将使用gnu11。

习惯了MSVC的Windows用户可以cl.exe与交换clang-cl.exe。默认情况下,clang尝试与已安装的最高版本的MSVC兼容。

如果使用Visual Studio进行编译,则可以通过更改Platform toolset项目属性来使用clang-cl 。

在这两种情况下,clang仅通过其前端都是兼容的,尽管它还会尝试生成二进制兼容的目标文件。clang-cl用户应注意,与MSVC的兼容性尚未完成。

要使用clang或clang-cl,可以在某些Linux发行版或与IDE捆绑在一起的发行版(例如Mac上的XCode)上使用默认安装。对于此编译器的其他版本或未安装此版本的平台,可以从官方下载页面下载。

如果您使用CMake构建代码,通常可以通过设置CC和CXX环境变量来切换编译器,如下所示:

mkdir build
cd build
CC=clang CXX=clang++ cmake ..
cmake --build .

另请参见Cmake简介。

 类似资料:
  • 似乎默认情况下,Clang采用了GNU汇编程序语法。 如何用Clang编译一个汇编文件使用ARM语法像this(指令)和this(指令)?

  • 问题内容: 我想编译以使用osx。使用以下命令:GOOS = linux GOARCH = arm CGO_ENABLED = 1 go build -o foo main.go 但我得到:运行时/ cgo叮当声:错误:编译期间未使用参数:’-mno-thumb’ 我使用了这个包:https : //github.com/mattn/go- sqlite3 我尝试了提示:https : //git

  • 8:错误:非类型模板参数专用于具有依赖类型'std::enable_if_t M)>*的模板参数(又名'typename enable_ifm),void>::type*') 结构S{}; 同样的代码使用以下行而不是(1)如预期的那样工作: SFINAE表达式几乎相同。它基于的专门化,我希望这两个示例的结果(成功或失败)相同。 我的期望错了吗?

  • ​clang-format 是个自动格式化 C/C++/Objective-C 代码的工具, 可以让开发人员不需要担心代码审查期间的样式问题. 强烈建议在打开请求之前格式化已更改的C ++代码,这将节省您和审阅者的时间。 你可以通过 npm install -g clang-format 安装 clang-format 和 git-clang-format. 根据 Electron C++ 代码样

  • 叮当 是自动检查 C/C++/Objective-C 代码的样式冲突、编程 错误和最佳实践的工具。 Electron's clang-tidy integration is provided as a linter script which can be run with npm run lint:clang-tidy. While clang-tidy checks your on-disk f

  • 补充clang++编译后的汇编代码: 编译结果: