GCC编译流程分四个阶段:
一:预处理阶段
gcc -E filename.c -o filename.i
产生名为filename.i的预处理文件
二:编译阶段
gcc -S filename.i -o filename.s
产生名为filenmae.s的汇编文件
三:汇编阶段
gcc -c filename.s -o filename.o
产生名为filename.o的目标文件
四:链接阶段
gcc filename.o -o filename
产生名为filename的可执行文件
直接产生目标文件,走前三个流程:
gcc -c filename.c
产生名为filename.o目标文件,不产生filename.i、filename.s文件
直接产生可执行文件,走全部流程:
gcc filename.c -o filename
产生名为filename的可执行文件,不产生filename.i、filename.s、filename.o文件
直接产生可执行文件并输出警告,走全部流程:
gcc -Wall filename.c -o filename
产生名为filename的可执行文件并输出警告,不产生filename.i、filename.s、filename.o文件