1、预编译(生成 .i 文件)
1>、将所有 #define 删除,并且展开所有的宏;
2>、处理掉所有的预编译指令,如 #if,#ifdef,#endif,#else等;
3>、处理 #include 指令,这是一个递归过程;
4>、删除所有注释 // 和/*.....*/;
5>、添加行号和文件标识;
6>、保留所有 #progma 编译器指令,待编译器使用
2、编译(生成 .s 文件)
把预处理完的文件进行一系列的词法分析、语法分析、语义分析及代码优化生成相对应的汇编代码文件。
3、汇编(生成 .o 文件)
汇编器是将汇编代码转变为机器可以执行的指令,每一个汇编语句几乎都对应一条机器指令。
4、链接(生成 .exe 文件)
1>、合并段和符号表;
2>、符号解析;
3>、符号重定位;
4>、地址和空间分配