有没有办法让GCC的预处理器在找到#error时停止,当使用选项-E
运行它时?
例如,在以下程序中:
#error STOP HERE int main() { return 0; }
在此程序上运行gcc
会导致第1行的编译中断,但运行gcc -E
会输出相同的行,然后继续进行预处理。
注意:我的问题类似于GCC #pragma to stop compilation,但是关于-E
标志,那么两者是否应该合并?
答案 0 :(得分:1)
简短的回答是否定的。处理器指令(例如#error)用于向编译器发出命令。通过使用-E选项,编译器永远不会运行,因此它没有理由停止。 -E标志用于打印所有使用您的程序编译而无需实际编译的代码。