关于涉及机器级别的代码的毋庸置疑的就是汇编代码了,这是最接近机器01代码的代码了。
下面是程序通常的的生成过程,大致分成4个部分:
- 预编译,该阶段就是将需要在预编译阶段做的事情给做完,比如将#include 包含的文件给插入到这个文件的该位置,还有就是#define 定义的宏进行扩展成表达式。
- 编译,该阶段就是通过编译器进行编译成汇编代码的文件:.S,比如在linux 中用gcc -c test.c
- 汇编:该阶段将由第二阶段产生的汇编文件进行汇编成二进制代码文件:.o文件,在此还没有填充的内存地址全局值。
- 连接:该阶段通过连接器将.0文件和函数等代码进行合并生成机器可以执行的二进制代码。