尝试编译代码时,IDE 中显示的致命错误和非致命错误之间的主要区别是什么?
在这两种情况下,编译器都会显示一条错误消息,并且不会编译程序。致命错误是编译器或链接器中未定义的编译器错误吗?
一个致命的错误可能会立即停止该翻译单元的汇编。
编译器可能会在出错后继续编译,以便向您显示更全面的问题列表。
尽管在您的情况下,预处理器似乎发出了致命错误。也许这只是取决于编译器作者的心情。
区别在于:
;
等)这解释了有时您修复了所有编译错误,并且会出现新的错误。
IDE 不是编译器。它通常在命令行中启动另一个程序(如GCC ...)进行编译。您的 IDE 只是一个美化的编辑器(在 Linux 上,emacs
编辑器通常比 IDE 更好)。
大多数编译器不会给出致命错误,除了编译器错误、编译时缺乏资源或源输入无法进一步编译时:考虑 -ing#include
一个不存在的头文件。
顺便说一句,有时编译器会给出如此多的错误(例如,尝试编译伪装成 C 文件的英语或法语文献文本),以至于进一步的编译意义不大。