程序的编译链接过程详解

首先我们简单了解一下内存布局:


程序的编译分为:

1.预处理:主要处理源代码文件中的以“#”开始的预编译指令(经过预编译后的.i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到.i文件中)

2.编译:将预处理完的文件进行一系列词法分析,语法分析,语义分析以及优化后产生相应的汇编代码文件(生成.s文件)

3.汇编:汇编器将汇编代码转变成机器可以执行的指令,每一个汇编语句几乎对应一条机器指令(生成.o/.obj文件)

.o/.obj文件的组成格式

          

可执行文件的组成格式:


注:可执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值