1)简述编译程序与翻译程序、汇编程序的联系与区别。
翻译程序是指把高级语言源程序翻译成机器语言源程序的软件。
编译程序是先完整编译后运行的程序.汇编程序也是一种语言翻译程序,汇编语言代码翻译成目标机器指令的过程。
编译程序与汇编程序的区别:如果源语言是高级语言,而目标语言是汇编语言或机器语言之类,这样的一个翻译程序称为编译程序。如果源语言是汇编语言,而目标语言是机器语言,这样的一个翻译程序称为汇编程序。
2)编译过程包括哪几个主要阶段及每个阶段的主要功能。
一、词法分析
词法分析的任务是:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词
二、语法分析
语法分析的任务是:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位
三、语义分析
对语法分析所识别出的各类语法范畴,分析其含义,并进行初步翻译(产生中间代码)
四、中间代码产生
“中间代码”是一种含义明确、便于处理的记号系统,它通常独立于具体的硬件。中间代码是一种独立于具体硬件的记号系统
五、代码优化
优化的任务在于对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效(省时间和空间)的目标代码。
六、目标代码生成
把中间代码经优化处理之后变换成特定机器上的低级语言代码。这阶段实现了最后的翻译,它的工作有赖于硬件系统结构和机器指令含义。
3)简述解释程序与编译程序的区别。
编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。另一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序。

4)了解新开源的华为方舟编译器(https://www.openarkcompiler.cn/home),理解并谈谈它的基本思想与采用的技术路线,以及它对安卓软件生态会有什么影响。
基本思想:方舟编译器则是在开发的时候就已经完成了静态编译,不需要依赖手机本身编译。同时,方舟编译器还提供了更高效的内存回收机制。方舟编译器对代码进行优化,为程序带来更高的性能。采用的技术路线:支持多语言联合优化的编译,在面对采用混合语言开发的安卓应用,方舟编译器可以在开发环境中编译成统一的流程,通过统一的程序表示和优化来执行,效率更高。影响:安卓生态圈被华为方舟编译器打破了原有传统,突破手机机能限制,根据不同的应用采用不同的编译和优化算法,提高了应用执行效率,为广大的用户提供更加愉快的体验。更加推动我国的安卓技术,为我们国人长脸。

posted on 2019-09-04 11:25  跛豪丶  阅读(163)  评论(0编辑  收藏  举报