cpp 与 c++ 编译器?

cpp 与 c++ 编译器?

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”代表一般用途预处理器,这似乎是相当不同的东西。

相关内容