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

C++ 在哪里可以找到Mac上使用GCC编译器的当前版本?,c++,macos,gcc,llvm,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/incl

我使用一个命令:
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一起用作前端。
我错过了什么?

您正在使用LLVM。除非您专门安装了GCC(例如使用自制),否则您没有安装GCC。在您的系统上对GCC的引用是Clang的别名,目的是让大多数代码能够顺利编译。

您使用的是LLVM。除非您专门安装了GCC(例如使用自制),否则您没有安装GCC。系统中对GCC的引用是Clang的别名,目的是让大多数代码都能顺利编译。

简单的回答是,你在使用苹果的LLVM,假装是GCC/g++。这不是一个大问题。有一个地方让我非常恼火,那就是gcc的
-march=native
优化无法与LLVM协同工作,这导致我运行的一个CPU密集型程序的性能下降了约50%

安装基于gcc的完整工具链需要大量工作。见和


如果你让真正的东西工作起来,你可能还想构建专用的GNU binutils等。

简单的回答是你在使用苹果的LLVM,假装是gcc/g++。这不是一个大问题。有一个地方让我非常恼火,那就是gcc的
-march=native
优化无法与LLVM协同工作,这导致我运行的一个CPU密集型程序的性能下降了约50%

安装基于gcc的完整工具链需要大量工作。见和


如果你能让真正的东西工作起来,你可能还想构建专用的GNU binutils等。

试试g++--版本?试试看g++是否是linux上的别名你可以使用“alias g++”试试g++--版本?试试看g++是否是linux上的别名你可以使用“alias g++”是否很难安装完整的GCC?除了构建时间长之外,我从未遇到过brew安装gcc的问题。我所知道的关于Homebrew的GCC的一个警告是,它不会安装到
路径
,以避免冲突。当然,这很容易改变。难,不。乏味,是的。当新版本问世时,这并不是我所期待的。此外,我还帮助一些朋友追踪了由于无意中使用了带有正版gcc的Apple实用程序等构建工具而导致的问题。这并不有趣。获得完整的gcc安装是否困难?除了构建时间长之外,我从未遇到过brew安装gcc的问题。我所知道的关于Homebrew的GCC的一个警告是,它不会安装到
路径
,以避免冲突。当然,这很容易改变。难,不。乏味,是的。当新版本问世时,这并不是我所期待的。此外,我还帮助一些朋友追踪了由于无意中使用带有正版gcc的Apple实用程序构建工具而导致的问题。这并不有趣。