1,预处理阶段(预编译)
gcc -E test.c -o test.i
(其中-o file输出到指定文件file)
2,编译阶段
gcc -S test.i -o test.s
(test.s就是生成的汇编语言文件)
3,汇编
gcc -c test.s -o test.o
(test.o为目标程序)
4,连接
gcc test.o -o test
(可执行文件test)
小结:也可以直接完成,编译连接过程
gcc test.c -o test
5,关于优化
time命令可以查看运行时间
其中,real为程序总的执行时间,包括进程的调度,切换等时间
user:用那个花执行时间
sys:内核执行时间
优化参数选项:
-O0不进行优化
-O1基本优化,使执行程序变得更快
-O2在O1基础之上进一步优化,如处理器指令调度
-O3开启所有优化
-Os生成最小可执行文件,主要用于嵌入式领域。
6,关于编译告警和出错选项。
-ansi 支持符合ANSI标准的C程序
-pedantic 允许发出ANSI C标准所列的全部警告信息
-w 关闭所有告警
-Wall 允许发出gcc提供的所有有用的告警信息
-werror 把所有的告警信息转化成错误信息,并在告警发生时终止编译