一C/C++源代码从最初的文本变为可执行文件主要进行三大步
预编译阶段:主要是编译器执行代码文本处理工作,并不会进行语法检查
主要执行三大类预编译命令
宏定义:代码文本替换功能,将使用了宏的地方采取宏定义方式直接展开
条件编译:代码文本剪切功能,根据设定的条件选择性删除一些代码片段
包含文件: 代码文本插入功能 #include 包含其他头文件,#include其内部实现是将被包含的头文件代码插入到当前代码文本中
编译阶段:将预编译阶段产生的带编译源码进行语法检查,编译成目标文件(.o类型)
目标文件中存放定义,部分调用使用了其他部分定义的变量和过程,因此还需要第三步:链接
链接阶段主要将各个目标文件定义和被调用处链接起来,最终产生可以直接执行的可执行文件