从一个源文件到一个可执行文件,要经历预处理,编译,汇编,链接四个过程。
预处理:头文件展开
宏替换
条件编译(#ifndef=if not definer如果没有宏定义则....)
生成以.i为后缀的文件
编译阶段:词法检查
语法分析
生成以.s为后缀的文件
汇编阶段:将汇编语言代码编译成为其语言指令,并最终生成可重定位的目标文件的格式
并将结果保存在以.o为后缀的目标文件中
链接阶段:将源程序调用的包含库函数的已经编译好的.o文件链接到我们的源文件中。链接
器输出的结果是可执行的目标程序。即在目标程序中需要用到什么函数就链接
到包含该函数的最下执行文件中。