在 Mac 10.9 Mavericks 上,clang 配置与 gcc link 配置不同吗?

On Mac 10.9 Mavericks is the clang configuration different from the gcc link configuration?

当我检查 gcc/g++ 和 clang/clang++ 的版本时,我试图弄清楚“--version”输出之间的区别,我的理解应该只是链接对彼此。此外,我不清楚是否有某种方法可以更新我现在锁定 Mac OSX 10.9 的内容。这个问题有点太多了,但简而言之,我正在努力为玩 SDL 做准备。最好是 post 控制台输出和评论。我认为我有一些误解需要解决;我确实看过关于堆栈溢出的类似页面,但 none 的讨论完全回答了我的问题

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 

好的,所以这是一个相当旧的版本, 是否有安全的方法来更新所有内容,或者我的系统是否已锁定? 我记得在我的系统

上安装了命令行工具和最新版本 Xcode, 6.2
Target: x86_64-apple-darwin13.4.0
Thread model: posix


$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr   --with-gxx-include-dir=/usr/include/c++/4.2.1

4.2.1?我安装了 Xcode 6.2。我是要重建什么东西吗?

Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

$ clang --version
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

$ clang++ --version
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

clang 打印输出没有告诉我关于 Xcode 版本的任何信息,所以我不确定这里是否存在差异。

简而言之,我是要更新或安装一些东西以便我拥有一组更新的编译器,还是我已经设置好了?上面的 gcc/g++ 和 clang/clang++ 信息之间的真正区别是什么?最后,我可以更新吗?如果可以,我可以用什么方式更新,我可以这样做而不会有任何负面影响吗?

如果问题有点过分,请提前致歉general/cloudy。我只是想确保我对这些消息有正确的理解并知道如何进行。 谢谢。

  1. 在现代 Mac 系统中,gccclang 的别名,g++clang++ 的别名.

  2. 它们也是 Xcode 的组件(或者 Xcode command-line 工具,如果您安装了这些工具)。安装的 clang 版本取决于(但不相同)您安装的 Xcode 版本。

  3. 您看到的“4.2.1”是C++的版本headers。这只会让你感到困惑。忽略它。

如果您想要更新版本的编译器,您需要安装更新版本的 Xcode,为此,您需要安装更新版本的 macOS。