我在哪里可以找到Mac上使用GCC编译器的当前版本?

时间:2016-11-22 15:50:57

标签: c++ macos gcc llvm

我使用命令g++ -v来了解当前使用的GCC版本。但我得到以下输出:

$ g++ -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

所以我不明白。我使用g++ test.cpp编译程序时是使用LLVM还是GCC?当我请求有关GCC的信息时,为什么会看到有关LLVM的信息? LLVM与Clang一起用作前端。 我错过了什么?

2 个答案:

答案 0 :(得分:3)

简短的回答是你正在使用Apple的LLVM伪装成gcc / g ++。这不是一个大问题。令我恼火的一个地方是,gcc的-march=native优化只是不能与LLVM一起工作,这导致我运行的CPU密集型程序的性能下降了约50%。

安装完整的基于gcc的工具链涉及大量工作。请参阅Compiling GCC 6 on macOS SierraCompiling GCC 6 on OS X

如果你真正的工作,你可能也想建立专门的GNU binutils等。

答案 1 :(得分:2)

您正在使用LLVM。除非您专门安装了GCC(例如使用Homebrew),否则您没有安装GCC。在您的系统上引用GCC是Clang的别名,旨在允许大多数代码编译而没有问题。