计算机基础-C语言程序编译过程

c语言程序的编译一般分成4个阶段,上一个阶段的输出作为下一个阶段的输入,最终的输出是一个可执行的目标文件。


第零阶段:这个阶段就是程序员使用自己喜欢的文本编辑器来写出C语言程序代码。


第一阶段,预处理阶段:这个阶段会以程序员写出的文本C语言程序作为输入,预处理器会处理程序中的#include <...> 这样的行,它会读取并将对应的代码插入到程序文本中。


第二阶段,编译阶段:这个阶段就是要将人类更易理解的C语言,通过编译器将其翻译成介于人与机器之间的汇编语言。不仅仅是c编译器,其它的编译器也会将其代码翻译成汇编代码,这可以看成是一个中间层。当然,如果有需要,人类也可以直接使用汇编语言来完成程序的编写,不过在表达能力上肯定没有高级语言便利。


第三阶段,汇编阶段:在这一阶段,上一阶段生成的汇编语言代码,会被翻译成机器能够直接理解的机器指令,一般其输出为一个.o文件,称为可重定位的目标程序。机器指令就是机器能够理解的01位的组合。


第四阶段,链接阶段:此阶段会将上一阶段生成的.o文件与引用的其它的.o文件进行合并,使程序能够正常工作,最终其生成的就是一个可执行的目标程序。至此,整个编译系统的工作就完成了。


整个编译系统包括:预处理器,编译器,汇编器和链接器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值