摘要: (狭义)编译大致可分为下面4个阶段。 1.语法分析 2.语义分析 3.生成中间代码 4.代码生成 语法分析: 对代码进行解析。将其转换为易于计算机理解的形式。这里的解析也称为语法分析。解析代码的程序模块称为解析器或语法分析器。 那么,什么是易于计算机理解的形式呢?那就是称为语法树的形式。 语义分析: 通过解析代码获得语法树后,接着就要解析语法树,除去多余的内容,添加必要的信息,生成抽象语法... 阅读全文
posted @ 2018-09-07 16:51 bosslv 阅读(374) 评论(0) 推荐(0) 编辑
摘要: gcc编译器 将hello.c文本文件转化为hello可执行文件的过程: 1.预处理 2.编译(狭义) 3.汇编 4.链接 上述过程也统称为编译。但是之后所提到的编译指第二步狭义编译,4步统称为bulid。 预处理: C语言的代码首先由预处理器对 #include和 #define进行处理。具体来说,就是读入头文件,将所有的宏展开。预处理是纯文本操作,不考虑C语言语法的含义。 (狭义)编译: ... 阅读全文
posted @ 2018-09-07 15:48 bosslv 阅读(130) 评论(0) 推荐(0) 编辑