C语言的编译链接过程

编写的一个C程序(源程序),转换成可以在硬件上运行的程序(可执行程序),需要进行翻译环境和运行环境。翻译环境则包括两大过程编译和链接,经过编译和链接过程便可形成可执行程序。

一、编译(将文本形式的源代码翻译成计算机认识的机器语言)

编译又分为预处理器处理、编译、汇编。

1.预处理器处理

主要是进行文本操作,包括头文件的包含,#define定义的标识符替换,宏替换,注释删除,形成.i文件

2.编译

通过语法分析,词法分析,语义分析,符号汇总,翻译成等价的汇编代码,形成.s文件

3.汇编

将汇编代码翻译成二进制指令,从而得到目标文件,汇编过程还会形成符号表。最后形成.o文件

二、链接(主要将有关的目标文件彼此相互链接,从而成为一个整体)

进行合并段表;符号表的合并和符号表的重定位。

三、Linux下预处理、编译、汇编生成目标文件



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值