注意: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
$
答案 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。