一个.c文件最终成为a.out文件需要经历预处理,编译,汇编,链接这4个过程。
gcc总过程如下
预编译
解释
主要处理源代码文件里以#开始的预编译指令。eg.#include,#define
内容
1.展开所有的宏定义,#define
2.处理所有条件编译指令,#if, #,ifdef,#elif,#else,#endif
3.处理#include,通过递归过程,把被包含的文件插入到预编译指令的位置.
4.删除所有注释,// 和 /* */.
5.添加行号和文件标识
6.保留所有#pragma编译器指令
编译
解释
通过一系列词法分析,