gcc的编译过程

1.预编译 -E  xxx.i预处理文件

 gcc -E xxx.c -o xxx.i

  1. 头文件展开。----不检查语法错误,可以展开任何文件
  2. 宏定义替换。 -----将宏名替换为宏值
  3. 替换注释 ------变成空行
  4. 展开条件编译-----根据条件来展开指令

2.编译 -S xxx.s 汇编文件

gcc -S xxx.i -o xxx.s

  1. 逐行检查语法错误 -----整个编译四步骤中最耗时的过程
  2. 将c程序翻译成汇编指令得到  .s汇编文件

3.汇编  -c xxx.o 目标文件

gcc -c xxx.s -o xxx.o

  1. 翻译:将汇编指令翻译成对应的二进制编码

4.链接  无    xxx.exe

gcc-xxx.o -o xxx.exe

  1. 数据段合并
  2. 数据地址回填
  3. 库引入

 

posted @   卡卡罗特kk  阅读(32)  评论(0编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
展开