1.关于机器代码 汇编代码 可执行机器代码
低级的操作——》字节序列编码——》编译器
GCC调用汇编器和链接器
当采用编译器时,高级语言的抽象性更高,编译器采用一致的方式处理数据,相当于一个熟练的工程师对代码进行编码,而且在不同的机器上都能进行编译,编译器提供检查错误等功能。
但是如果不懂汇编语言的阅读理解,理解编译器的优化能力,分析代码中低效的具体含义,以及系统中存在的漏洞,要求编程者能够阅读和理解编译器产生的代码
2.当一个程序被执行
首先,预处理器扩展源代码插入#include命令指定的文件
其次,扩展所有#define声明指定的宏
之后由.c文件生成了汇编代码.s文件
随后汇编器将.s文件转化为.o文件即二进制目标代码文件(指令的二进制形式)
最后,链接器将目标代码文件与实现库函数的代码进行合并,并产生可执行文件代码(处理器执行的代码形式)