
cc 是 C 編譯器的 POSIX 名稱。 C++ 編譯器(和連結器)有通用名稱嗎?請注意,g++
也新增了一些函式庫,在使用普通 gcc 或 ld 時不會包含這些函式庫。
答案1
POSIX C 編譯器前端是現在c99
;cc
廣泛可用但不能保證。 POSIX 沒有指定任何與 C++ 相關的內容,因此您在那裡找不到呼叫 C++ 編譯器和連結器的標準化命令。
常見做法(請參閱範例GNU 使) 是依賴CC
和CXX
變數。在 GNU 的情況下,它們的預設值分別是cc
和; g++
BSD 傾向於使用cc
and c++
(參見範例OpenBSD的配置)。連結器透過編譯器驅動程式訪問,而不是明確調用。
答案2
至於 Linux,我在過去二十年中看到的大多數 Makefile 都只使用gcc
/ g++
。當有人費心使用真正的連結器而不是 GCC 時,他們通常會指定ld
.我大概見過cc
一次。
cc
大多數 Linux 發行版確實提供了從到 的符號鏈接gcc
,但如果您刪除 GCC 並安裝 clang,則它們不會。
不知道它是否可移植,例如 FreeBSD 最近遷移到 Clang/LVM,其他 BSD 繼續使用 GCC,Mac OS 也使用 Clang。 Android有自己的工具鏈。
我沒有使用過任何其他 Unix,所以沒有評論。
您的用例是什麼?請編輯您的問題並提供更多詳細資訊。