В чем разница между C++ и g++ в Mac OS X (CommandLineTools)?
Я вижу, что 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++
1 ответ
На MacOS, c++
является символической ссылкой на clang++
двоичный файл. В вашем случае оба c++
а также g++
это тот же компилятор Clang для C++ (т.е. компилятор LLVM маскируется под компилятор GNU g++).
Если бы вы установили компилятор GCC для C++ (более известный как g++), различия между C++ и g ++ были бы различиями между компиляторами clang и gcc. Например, посмотрите этот вопрос или таблицу поддержки компилятора.