如何在Mac上找到实际的Clang版本?

时间:2018-05-17 09:44:12

标签: c++ c macos clang version

注意:Get Apple clang version and corresponding upstream LLVM version提供的答案似乎都不再有效。

http://releases.llvm.org/download.html的下载页面和https://en.wikipedia.org/wiki/Clang的维基百科文章似乎表明最新的Clang版本是6.0.0。

但是在我的macOS High Sierra版本10.13.3上,我看到了这个输出:

$ clang --version
Apple LLVM version 9.1.0 (clang-902.0.39.1)
Target: x86_64-apple-darwin17.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ which clang
/usr/bin/clang

这似乎不对。为什么Apple的Clang版本比当前版本的Clang更大?

如何找出http://releases.llvm.org/download.html上托管的哪个版本的Clang与我的Mac版本的Clang对应?

我问这个是因为我看到http://releases.llvm.org/6.0.0/tools/clang/docs/UsersManual.html记录了-pedantic命令行的clang选项,但是我的系统上的clang手册页中没有记录它

$ man clang | grep pedantic
$ clang --help | grep pedantic
$

3 个答案:

答案 0 :(得分:4)

启动终端并输入:

clang --version

Apple clang版本11.0.0(clang-1100.0.33.16)

答案 1 :(得分:3)

wikipedia table将Xcode和Apple clang版本映射到LLVM版本。 您的clang-902.0.39.1似乎基于LLVM 5.0.2。

答案 2 :(得分:1)

您可以尝试使用

echo | clang -dM -E - | grep __clang

可能会为您提供更可靠的数字。虽然我一直在猜测,因为我不在Mac上。

此外,clang长期以来一直使用-pedantic选项-6.0之前的许多版本。 -pedantic是一个GCC选项,而clang在其选项中仅次于GCC。