gcc四个过程

C/C++通过gcc/g++编译器包括以下四个过程:
预处理,编译,汇编,链接

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

以上都是自己理解