编译原理概述

1、编译程序就是将一段代码一起执行,生成字节码的文件。

翻译程序把一种语言所写的源程序翻译成与之等价的另一种语言的目标程序。

汇编程序是一种翻译程序,把高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。

2、编译过程划分成 词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。

词法分析是编译过程的第一个阶段,这个任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。

语法分析是第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语。

语法分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。

中间代码生成任务是在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源代码变成了一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。

代码优化的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。

目标代码生成任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。

3、编译程序是整体编译完了,再一次性执行。
而解释程序是一边解释,一边执行。 解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。

4、由于安卓的开放性,对上层应用没有强制规则。比如安卓的第三方应用市场非常多,数量无法统计;安卓的安装方式也非常多,通过邮件都可以安装,由此带来的问题比较多。手机内部的资源是有限的,要想取得好的用户体验,就要对系统硬件资源机型合理调配。

相比于安卓原生系统,方舟编译器可以明显提升系统运行效率:

首先,它是多语言联合优化编译器,消除跨语言调用开销,这是影响Android性能消耗较大的核心原因之一。

其次,把虚拟机去掉了,内存回收机制。

虚拟机是安卓系统的关键部分之一。虚拟机可以帮助安卓系统适配各种处理器,实现跨平台操作, 不管是X86机器,还是ARM机器,或是其他CPU的机器都没有问题。但这样一来,只要装上安卓系统,虚拟机也会占用额外的系统资源。

转载于:https://www.cnblogs.com/jinwhy/p/11451915.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值