首页 文章

如何让'gcc -E'停在#error上

提问于
浏览
0

有没有办法让GCC的预处理器在找到#error时停止,当用选项 -E 运行它时?

例如,在以下程序中:

#error STOP HERE
int main() {
  return 0;
}

在此程序上运行 gcc 会导致第1行的编译中断,但运行 gcc -E 会输出相同的行,然后继续进行预处理 .

注意:我的问题类似于GCC #pragma to stop compilation,但是关于 -E 标志,那么两者是否应该合并?

1 回答

  • 1

    最简洁的答案是不 . 处理器指令(例如#error)用于向编译器发出命令 . 通过使用-E选项,编译器永远不会运行,因此它没有理由停止 . -E标志用于打印所有使用您的程序编译而无需实际编译的代码 .

相关问题