是否有错误停止制作程序?

时间:2013-12-07 22:03:05

标签: error-handling preprocessor

例如,如果我错误地#include某些东西并且预处理器出错了,它是否仍然通过编译器,汇编器和链接器?

1 个答案:

答案 0 :(得分:0)

创建一个只包含此行的小程序:

     #includerr (stdio.h) 

告诉我会发生什么......

您能看到任何.OBJ.O.EXEa.out个文件吗?如果您可以看到.O.OBJ,则文件已经编译和汇编。如果您看到任何.EXEa.out个文件,则该文件已链接到标准库并生成可执行文件。


如果您看不到任何这些文件,请手动尝试编译该文件。例如,在Linux下你可以这样做:

gcc -c -S file.c

将编译并生成一个程序集文件,然后将停止。如果您在此之后可以看到.S文件,并且该文件不为空,则file.c已成功编译并转换为汇编程序。

如果你这样做:

gcc -c file.c

如果成功,将尝试编译和汇编file.c file.o

如果你这样做:

gcc file.c

如果成功,将尝试编译,汇编和链接file.c a.out