c++
- стандартное имя компилятора C++
в системе.
В системе GNU почти наверняка установлена GCC
(коллекция компиляторов GNU), которая включает в себя C++
компилятор с именем g++
('g' для GNU). Но чтобы быть POSIX-совместимым, они устанавливают этот компилятор также как c++
, иногда c++
является символической ссылкой на g++
, иногда это жесткая ссылка, иногда это просто один и тот же файл, установленный дважды.
Это не относится к другим системам, таким как FreeBSD или NetBSD. Возможно, на этих системах не установлен GCC (и другие компоненты GNU).
В моей системе эти два файла просто идентичны:
% diff `which c++` `which g++`
% echo $?
0
Это означает, что c++
по крайней мере вызывает один и тот же компилятор, но теоретически он может по-разному интерпретировать некоторые параметры командной строки или иметь другие значения по умолчанию. Кто-то с большим знанием может свободно ответить на этот вопрос.