0

我看到 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++
4

1 回答 1

1

在 MacOS 上,c++clang++二进制文件的符号链接。在您的情况下,两者c++都是g++C++ 的相同 Clang 编译器(即 LLVM 编译器被伪装成 GNU g++ 编译器)。

如果您已经为 C++(通常称为 g++)安装了 GCC 编译器,那么 c++ 和 g++ 之间的差异将是 clang 和 gcc 编译器之间的差异。例如,请参阅此问题此编译器支持表

于 2019-01-14T23:04:18.077 回答