C语言在编译过程中分为四步:预处理(Proprocess)、编译(compilation)、汇编(assemble)、链接(link),其中,预处理就是将你源文件中所包含的头文件(#include<>)、宏定义(#define)进行替换,此时依然是文本文件,不过文件会变大。编译是将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程,汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件(.obj),链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file)。