之前一直忙于比赛项目,疏忽对编译原理的学习,从此日更编译原理,往监督。
一,万恶的开始
语言 | 特点 | 举例 |
高级语言 | 符合人们的习惯,更容易理解和修改。 | int x = 2; |
汇编语言 | 具有一定意义的文字命令,与机器语言一一对应。 | MOV x 2 |
机器语言 | 二进制命令,能被计算机直接识别。 | C706 0000 0002 |
二,编译&编译过程
编译:将高级语言翻译成汇编语言或机器语言的过程
编译过程:像极了我们的英译汉,词法分析分析各个单词的词性,语法分析分析里面的短语和结构,语义分析分析出各个短语在句子中的成分,你读懂英语句子就像机器读懂高级语言一样,士可杀不可辱。
三,编译器和解释器
区别 | 编译 | 解释 |
效率 | 一般大于解释效率 |
纯解释<=解释效率<=纯编译 |
执行 | 词法分析,语法分析,语义分析只进行一次 | 反复执行 |
跨平台 | 不支持,换平台必须重新修改编译 | 支持 |
举个例子:
编译代表——C,对于x86和x64两种机器,不同的平台上需要重新编译连接成可执行文件,才能运行。
解释代表——JS,几乎能在所有的操作系统上执行,而无需根据操作系统做修改;
JAVA则是两种的结合,先编译成CLASS文件,然后在通过解释成可执行文件。
扫描二维码关注公众号,回复:
10286132 查看本文章