除了使用调试器查找程序缺陷之外,我们还可以检查编译过程中生成的文件。对于gcc来说,-c用于生成目标文件,-S生成汇编文件,而-E生成预处理文件。配合使用-save-temps,则可以生成多个文件,如
gcc -save-temps -c hello.c
生成并保留目标文件(hello.o)、汇编文件(hello.s)和预处理文件(hello.i)
查看预处理文件最大的问题就是宏定义,因为宏都被预处理掉了,使用-E -dM选项,可以查看编译器到底定义了哪些宏。
gcc -E -dM hello.c





