c语言从头开始(三:编译器工作原理)
以gcc编译器为例子,编译实际上总共经历了四个阶段
预处理—>编译—>汇编—>链接
1.预处理
预处理就是对源代码进行文本处理,对开头除空白外第一个字符为#的代码行进行处理。
例如:
#include<stdio.h>
前面说过这个是标准输入输出头文件,读到这行代码时,从编译器的内置查找路径的根部开始查找stdio.h文件,读取其内容,并把它直接插入到程序文本前面。
stdio.h是编译器内原本就有的头文件,像类似的还有很多,比如math.h和string.h等等。当然,我们还可以自己编写头文件,头文件的后缀是xx.h,并把它当前代码文件所在目录。我们要用就可以直接通过下面代码使用
#include "xx.h"
还有宏定义
#define XX YY //把XX定义为YY,也就是下面代码所以出现的XX就相当于YY
在