转自:http://www.cnblogs.com/shihaochangeworld/p/5657224.html
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件
Source--(编译)--> Assembly--(汇编)-->Obj--(链接)-->PE/ELF
1.编译预处理
读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理
[析] 伪指令主要包括以下四个方面
(1)宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令