源文件:.c 文件等
-
第一步:预处理 或 预编译
1)命令:
gcc -E *.c
2)后缀名:.i 或 .ii
3)对include、define、删除注释、添加行号文件表示符、条件预编译指令 等预处理指令进行处理
-
第二步:汇编
1)命令:
gcc -S *.i
2)后缀名:.s
3)编译成汇编代码:.i文件进行语法分析、语义分析、优化
-
第三步:对象文件
1)命令:
gcc -c *.s
2)后缀名:.o
3)可重定位的 二进制 文件,即中间目标文件
-
第四步:可执行文件
1)命令:
gcc *.o
2)后缀名:默认 .out
3)将对象文件进行链接:连接器ld把所有.o文件、静态链接库、动态链接库 进行链接
-
指定输出名字
1)命令:gcc *.c -o test.out
2)可用在以上4步的任一阶段进行指定输出名字 -
直接生成可执行文件,即以上4步合成一步
gcc *.c
-
保留调试信息。例如使用gdb调试
gcc *.c -g
-
指定优化等级。以下的O为大写的O(欧)
#最后的参数有 -O0 -O1 -O2 -O3 -Ofast gcc *.c -O0