Ubuntu 中的“cpp”和“c++”编译器有什么区别?
我一直在尝试澄清 Ubuntu(以及一般的 Linux 发行版)中使用的各种编译器同义词,然后再决定使用哪种编译器最为优雅。使用“file”命令跟踪符号链接可以快速显示“cc”链接到“gcc”,“c++”链接到“g++”。
但是,“cpp”和“c++”不是符号链接,而是链接到两个不同的 ELF 文件,“cmp”显示它们不同,因此它们也不是硬链接。有人知道这两个编译器之间的这种差异意味着什么吗?
答案1
@steeldriver:谢谢,我刚刚自己弄清楚了。“cpp”是 Gnu 预处理器。它输出预处理的源代码。
我被cpp --help
生成的文本弄糊涂了,因为c++ --help
— 表示 cpp 是一个完整的编译器,但事实并非如此。我还以为 Gnu 预处理器是“gpp”。
事实证明,“cpp”是 Gnu 预处理器,“gpp”代表一般用途预处理器,这似乎是相当不同的东西。