程序的链接+编译过程

本文详细介绍了从源代码到可执行程序的过程,包括编译阶段的预处理、语法分析等步骤,以及链接阶段的符号表合并和重定位操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源文件经过翻译环境把他变成了额一个可执行程序,这个翻译环境主要进行了两个工作,一个是编译,另一个是链接,在编译的过程中,是为了把源文件(.c)搞成目标文件(.obj/.o),而多个目标文件经过我的链接库链接作用,形成了我的可执行文件,那么在我们的编译过程中,又分为了三个小过程,首先是预处理器处理,在这个过程中主要进行文本的操作,包括注释的删除、头文件的包含和#define宏定义的标识符和宏的替换(在这个过程中会把.c文件转换为.i文件),接下来是编译过程,在这个过程中会把代码转化为汇编代码,主要进行语法分析。词法分析、语义分析、符号汇总,在此过程中会把.i文件转换为.s文件,第三个过程是汇编,在这个过程中会将汇编代码转换为二进制指令,同时将汇总起来的符号形成符号表,将文件转换为.obj或.o文件。目标文件生成后,要进行我们的链接,在连接过程中,要进行段表的合并,符号表的合并和重定位,最终生成我们的可执行文件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值