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,所以没有评论。
您的用例是什么?请编辑您的问题并提供更多详细信息。