1.编译程序过程的八大模块
2.编译程序的遍(有一遍和多遍)
3.多遍的好处与坏处;
4.一遍的过程
核心在于语法分析,在语法分析需要token的时候,词法分析就去源代码取出需要的部分,然后语法分析器在把部分语法树进行语义分析以及代码生成。
5.编译过程的伙伴工具(符号表、出错处理、预处理、连接器)
①.符号表:在进行词法分析生成token后,生成语法树,会把各种变量放进符号表,然后用于生成目标代码。
②.出错则是在编译的各个过程都在进行出错检查。
③.预处理,(主要是删除注释 --把注释换成空格–以及一些宏定义 )有些高级语言在词法分析之前一会又预处理,比如C,它的__FILE__则表示当前C语言的文件名位置,__LINE__表示当前C再具体的哪一行.
-
C的部分知识:#include <stdio.h> 表示引入stdio.h的文件,std是stddandard标准的缩写,IO则是输入输出,h为头文件,所以引入的就是标准输入输出的头文件。
-
还有很多比如stdarg 标准参数 stdlib标准库等等
④test.o是object文件 目标文件 test.ld 加载文件
第一个move指令 第二个ri寄存器 第三个表示a在内存 最后一个是指地址
第一个加法指令 第二个ri寄存器 第三个 表示可以直接相加 第四个2