我在哪里可以找到 Mac 上使用 GCC 编译器的 current 版本?
Where can I find a version of current using GCC compiler on Mac?
我使用命令: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(例如使用 Homebrew),否则您没有安装 GCC。您系统上对 GCC 的引用是 Clang 的别名,旨在让大多数代码都能顺利编译。
简短的回答是你正在使用 Apple 的 LLVM 伪装成 gcc/g++。这不是一个大问题。一个让我非常恼火的地方是 gcc 的 -march=native
优化不适用于 LLVM,这导致我 运行 在相当 CPU 密集型程序中性能下降了大约 50% .
安装完整的基于 gcc
的工具链涉及大量工作。参见 Compiling GCC 6 on macOS Sierra and Compiling GCC 6 on OS X。
如果你得到真正的工作,你可能还想构建专用的 GNU binutils 等。
我使用命令: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(例如使用 Homebrew),否则您没有安装 GCC。您系统上对 GCC 的引用是 Clang 的别名,旨在让大多数代码都能顺利编译。
简短的回答是你正在使用 Apple 的 LLVM 伪装成 gcc/g++。这不是一个大问题。一个让我非常恼火的地方是 gcc 的 -march=native
优化不适用于 LLVM,这导致我 运行 在相当 CPU 密集型程序中性能下降了大约 50% .
安装完整的基于 gcc
的工具链涉及大量工作。参见 Compiling GCC 6 on macOS Sierra and Compiling GCC 6 on OS X。
如果你得到真正的工作,你可能还想构建专用的 GNU binutils 等。