gcc四个过程
C/C++通过gcc/g++编译器包括以下四个过程:
预处理,编译,汇编,链接
- 预处理(preprocess)
预处理可以理解为将#里边的内容展开,包括宏定义,头文件路径等等,然后直接插入到程序里边去。
预处理通过预处理器将.c文件转换成.i文件。
预处理阶段不会检查语法错误 - 编译(compile)
编译是通过编译器(ccl)将.i文件转换为汇编代码文件,一般是.s文件。
在编译阶段会进行语法分析等 - 汇编(assemble)
汇编器(as)将.s文件翻译成二进制机器语言指令(二进制机器码),生成.o文件。 - 链接(link)
链接器(ld)将上述产生的一堆文件还有各种库通过某种方式链接起来,生成.out(.exe)文件