C语言编译过程简述

目录

一、大致流程

二、预编译

三、编译

四、汇编

五、链接

六、总结 


一、大致流程

C语言的大致翻译运行流程如下,后文主要简单介绍编译的四个过程。

 二、预编译

预处理:处理源代码中的预处理指令,例如#include、#define、#ifdef等。使用命令行工具gcc -E进行预处理。主要包括#include头文件的包含,#define,注释删除使空格代替注释。

gcc -E source_file.c -o preprocessed_file.i

三、编译 

编译:这个过程主要是把C语言代码翻译成汇编代码,使用命令行工具gcc -S进行编译。

gcc -S preprocessed_file.i -o compiled_file.s

四、汇编 

汇编:把汇编代码转换成二进制指令,使用命令行工具gcc -c进行汇编。

gcc -c compiled_file.s -o assembled_file.o

五、 链接

链接:将各个模块的目标文件和所需的库文件进行合并,生成可执行文件。使用gcc本身或者其他链接工具如ld进行链接。

gcc assembled_file.o -o executable_file

注:以上命令假设你的源文件名为source_file.c

六、总结 

1.预处理选项gcc-E将源文件***.c处理为***.i完成后停下来,产生的结果放在.i文件中。

2.编译选项gcc-s,***.i---***.s,完成后停下来,产生的结果放在.s文件中。

3.汇编选项gcc-c,***.s---***.o,完成后停下来,产生的结果放在.o文件中。

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值