作者:江南一散人
预编译
把#include指令中引用的头文件展开在当前源文件中
把#define指令定义的宏标记在源文件中引用该标记的地方进行展开
对#if、#ifdef、#elif、#endif条件编译指令进行处理,把条件不满足的代码删除
删除所有注释信息
其它处理,添加行号和文件位置标识等信息,以及处理#pragma等预编译指令
编译器
词法分析---语法分析---语义分析---中间码生成---代码优化---机器代码生成
汇编器
根据CPU厂商提供的汇编指令和机器指令对照表,把汇编指令翻译成机器指令,输出结果为目标文件
(反汇编器,在程序调试过程中,尤其在调试一些系统底层软件的时候)
链接器
把多个目标文件间建立起来一种联系,然后根据这种联系,把这些互相关联的目标文件组合起来,最终生成一个可执行文件;
这里的目标文件,包括汇编阶段产生的目标文件,以及这些目标文件中引用的外部函数所在的库文件,包括动态链接库和静态链接库
如果,感到此时的自己很辛苦,那告诉自己:容易走的都是下坡路。坚持住,因为你正在走上坡路,走过去,你就一定会有进步。如果,你正在埋怨命运不眷顾,开导自己:命,是失败者的借口;运,是成功者的谦词。命运从来都是掌握在自己的手中,埋怨,只是一种懦弱的表现;努力,才是人生的态度。