我看到c ++和g ++基本相同。它们可以互换使用吗?他们什么时候会不同?
$ c++ --version
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ which c++
/Library/Developer/CommandLineTools/usr/bin/c++
$ which g++
/Library/Developer/CommandLineTools/usr/bin/g++
答案 0 :(得分:0)
在MacOS上,c++
是指向clang++
二进制文件的符号链接。在您的情况下,c++
和g++
都是用于C ++的同一Clang编译器(即LLVM编译器被伪装为GNU g ++编译器)。
如果您已经为C ++安装了GCC编译器(通常称为g ++),则c ++和g ++之间的差异将是clang和gcc编译器之间的差异。例如,请参见this question或this compiler support table。