为什么 gcc -### proc.c 不显示预处理器的调用?

Why does gcc -### proc.c not show the invocation of the preprocessor?

我(可能是错误的)假设我可以使用 gcc -### 来显示 gcc 在编译翻译单元时执行的命令。

但是,当我执行 gcc -### prog.c 时,没有显示预处理器的调用 /usr/bin/cpp

所以,我的假设是错误的还是我遗漏了什么?

gcc 更改了预处理器的实现。它不再是一个独立的程序。 cc1 现在处理预处理和编译。名为 cpp 的命令仍然存在,但它只是 cc1 的一种特殊模式,它的存在只是为了向后兼容使用 cpp 作为通用宏处理器的脚本。