- 程序的编译过程
源文件 | 预处理 | 编译 | 汇编 | 链接 | 可执行文件 |
.c/c.pp/.h | .c/.cpp/.h -> .i | .i -> .s | .s -> .o | .o/.lib -> .exe | .exe |
1.预处理(这里文件一般都会变大,因为加入个我们包含头的那些库)
删除#define这些宏定义,展开宏定义;处理条件编译;处理#include于编译指令;生成行号,去掉注释;保留所有的 #pragma编译指令;
2.编译
预处理完的文件,进行语法检查,语义和词义的分析以及优化以后生成汇编文件。
3.汇编
汇编代码生成机器识别的机器指令。
4.链接
多个目标和库文件整合在一起最后生成可执行文件。
如有错误,望指正。