第三章 程序的机器级表示(一)

1.关于机器代码 汇编代码 可执行机器代码
低级的操作——》字节序列编码——》编译器
GCC调用汇编器和链接器
当采用编译器时,高级语言的抽象性更高,编译器采用一致的方式处理数据,相当于一个熟练的工程师对代码进行编码,而且在不同的机器上都能进行编译,编译器提供检查错误等功能。
但是如果不懂汇编语言的阅读理解,理解编译器的优化能力,分析代码中低效的具体含义,以及系统中存在的漏洞,要求编程者能够阅读和理解编译器产生的代码

2.当一个程序被执行
首先,预处理器扩展源代码插入#include命令指定的文件
其次,扩展所有#define声明指定的宏
之后由.c文件生成了汇编代码.s文件
随后汇编器将.s文件转化为.o文件即二进制目标代码文件(指令的二进制形式)
最后,链接器将目标代码文件与实现库函数的代码进行合并,并产生可执行文件代码(处理器执行的代码形式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值