源代码−>预编译−>编译−>优化−>汇编−>链接−>可执行文件{\red{源代码->预编译->编译->优化->汇编->链接->可执行文件}}源代码−>预编译−>编译−>优化−>汇编−>链接−>可执行文件
预编译:{\orange{预编译:}}预编译:
解决,宏替换,条件编译,生成.i(对应.c),.ii(对应.cpp)
编译:{\orange{编译:}}编译:
词法分析,语法分析,生成.s汇编文件
汇编:{\orange{汇编:}}汇编:
翻译生成机器码,生成.o文件
链接:{\orange{链接:}}链接:
将有关目标文件连接起来,在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使所有目标文件能够成为一个整体装入操作系统。