在查阅相关资料后,本文将C/C++程序编译过程总结成四大步骤,分别是编译预处理、编译(优化)、汇编与链接
1.编译预处理
预处理是根据预处理指令重新组装成新的C/C++程序。
经过预处理后,会生成一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义与原本的文件一致,只是内容上有所不同。
宏定义命令;如#define和typedef
条件编译指令;如#ifdef #ifndef #endif
头文件包含指令;如#include
特殊符号;如__LINE__
预处理指令;如#pragma
单行/多行注释;// /**/
对上述的内容,预处理会进行下述处理:
- 读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理
①将所有的“#define”删除,并且展开所有的宏定义