.png)
cc — это POSIX-имя компилятора C. Есть ли общее имя компилятора C++ (и компоновщика). Обратите внимание, что g++
также добавляются некоторые библиотеки, которые не будут включены при использовании простого gcc или ld.
решение1
Интерфейс компилятора POSIX C — этосейчасc99
; cc
широко доступен, но не гарантирован. POSIX не определяет ничего, связанного с C++, поэтому вы не найдете там стандартизированной команды для вызова компилятора и компоновщика C++.
Обычная практика (см. напримерGNU-создание) заключается в том, чтобы полагаться на переменные CC
и CXX
. В случае GNU значения по умолчанию для них cc
и g++
соответственно; BSD, как правило, используют cc
и c++
(см. напримерКонфигурация OpenBSD). Доступ к компоновщику осуществляется через драйвер компилятора и не вызывается явно.
решение2
Что касается Linux, то большинство Makefile, которые я видел за последние два десятилетия, не используют ничего, кроме gcc
/ g++
. Когда кто-то удосуживается использовать настоящий компоновщик, а не GCC, они обычно указывают ld
. Я видел cc
, может быть, один раз.
Большинство дистрибутивов Linux предоставляют символическую ссылку с cc
на , gcc
но этого не произойдет, если вы удалите GCC и установите вместо него clang.
Не знаю, переносимо ли это, так как, например, FreeBSD недавно перешла на Clang/LVM, другие BSD продолжают использовать GCC, Mac OS также использует Clang. У Android есть свой собственный набор инструментов.
Я не пользовался другими Unix-системами, поэтому без комментариев.
Какой у вас вариант использования? Отредактируйте свой вопрос и предоставьте больше подробностей.