C++ 生成可执行文件大致需要经过以下几个过程:
源程序 -> 预处理 -> 编译和优化 -> 生成目标文件(.obj) -> 链接 -> 可执行文件
1. 预处理
C++ 的预处理是指在 C++ 程序源代码被编译之前, 由预编译器对 C++ 程序源代码进行的处理, 这个过程并不对程序的源代码进行解析, 主要是完成以下几项任务:
- 宏的替换
- 删除注释
- 处理预处理指令, 如
#include
,#ifdef
等等
2. 编译和优化
- 词法分析
- 语法分析
- 语义分析
- 代码优化
- 代码生成
内联函数的替换就发生在这一阶段
3. 生成目标文件
将汇编语言代码翻译成目标机器指令