В чем разница между c ++ и g ++ в Mac OS X (CommandLineTools)? - PullRequest
0 голосов
/ 15 января 2019

Я вижу, что 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 Ответ

0 голосов
/ 15 января 2019

В MacOS c++ является символической ссылкой на двоичный файл clang++. В вашем случае c++ и g++ - это один и тот же компилятор Clang для C ++ (т.е. компилятор LLVM маскируется под компилятор GNU g ++).

Если бы вы установили компилятор GCC для C ++ (более известный как g ++), различия между c ++ и g ++ были бы различиями между компиляторами clang и gcc. Например, см. этот вопрос или в этой таблице поддержки компилятора .

...