参考:http://linux.die.net/man/1/gcc
完整的gcc工作流程:
预处理、编译、汇编、链接-->生成可执行文件
当使用-c选项时:(gcc -c test.c)
只进行预处理、编译、汇编三个阶段,链接阶段不执行-->生成文件为(同名文件.o)
当使用-S选项时:(gcc -S)
只执行预处理、编译两个操作,汇编和链接不执行-->生成文件为(同名文件.s)
当使用-E选项时:(gcc -E)
只执行预处理一个操作,编译、汇编和链接不执行-->不生成文件。
-o选项:
执行输出文件名,不管该文件时可执行文件、对象文件,汇编文件还是预处理C代码。
如果没有选项-c/S/E,如(gcc test.c -o test),则表示执行完整的gcc操作:预处理、编译、汇编、链接-->生成可执行文件