我使用一个命令: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
所以我不明白。使用以下命令编译程序时,我使用的是LLVM还是GCC g++ test.cpp
?当我请求有关GCC的信息时,为什么会看到有关LLVM的信息?与Clang一起使用的LLVM作为前端。我在那里错过了什么?
简短的答案是,您正在使用Apple的LLVM假装为gcc / g ++。这不是一个大问题。我很恼火的一个地方是,gcc的-march=native
优化功能不适用于LLVM,这导致我正在运行的CPU密集型程序的性能下降了约50%。
gcc
安装完整的基础工具链涉及许多工作。见编译GCC 6在MacOS塞拉利昂和OS X上编译GCC 6。
如果您可以使用真正的东西,那么您可能还需要构建专用的GNU binutils等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句