C程序
C程序到可执行程序的编译链接过程
预处理-->编译-->汇编-->链接
预处理用于将所有的#include头文件以及宏定义替换成其真正的内容
编译指将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程
汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件,是二进制格式
链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file)
xxx.c 源代码 xxx.i 预处理后的代码 xxx.s 汇编代码 xxx.out 链接器输出
Directive Meaning
# include 包括一个源文件
# define 定义宏
# undef 取消定义一个宏