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
在cmd命令行中输入
gcc -E xx.c -

本文详细介绍了C语言的编译过程,包括预处理(处理#指令,如包含头文件和宏定义)、编译(源代码转化为汇编语言)、汇编(汇编语言转为机器代码)和链接(生成可执行文件)四个阶段。以gcc编译器为例,通过实际操作展示了每个阶段的变化。
最低0.47元/天 解锁文章
1596

被折叠的 条评论
为什么被折叠?



