gcc的编译过程
1.预编译 -E xxx.i预处理文件
gcc -E xxx.c -o xxx.i
- 头文件展开。----不检查语法错误,可以展开任何文件
- 宏定义替换。 -----将宏名替换为宏值
- 替换注释 ------变成空行
- 展开条件编译-----根据条件来展开指令
2.编译 -S xxx.s 汇编文件
gcc -S xxx.i -o xxx.s
- 逐行检查语法错误 -----整个编译四步骤中最耗时的过程
- 将c程序翻译成汇编指令得到 .s汇编文件
3.汇编 -c xxx.o 目标文件
gcc -c xxx.s -o xxx.o
- 翻译:将汇编指令翻译成对应的二进制编码
4.链接 无 xxx.exe
gcc-xxx.o -o xxx.exe
- 数据段合并
- 数据地址回填
- 库引入


浙公网安备 33010602011771号