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
- 数据段合并
- 数据地址回填
- 库引入

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步