作业(第一次)

1)简述编译程序与翻译程序、汇编程序的联系与区别。

  编译就是把高级语言变成计算机可以识别的二进制语言,是对整个写好的程序进行翻译, 最终形成目标文件。

翻译程序是指把高级语言源程序翻译成机器语言源程序的软件。汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。

  区别是编译程序对应胡源语言是诸如C、C++、Java等“高级语言”,而汇编语言对应的是机器语言之类的“低级语言”。

2)编译过程包括哪几个主要阶段及每个阶段的主要功能。

  编译程序的工作过程一般也可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成。

  词法分析的功能是:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,标识符、常数、运算符和界符。

  语法分析的功能是:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位。通过语法分析,确定整个输入串是否构成语法上正确的“程序”。

  语义分析与中间代码产生的功能是:对语法分析所识别出的各类语法范畴,分析其含义,并进行初步翻译。

  优化的功能是在于对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效更省时间和空间的目标代码。

  目标代码生成的功能是:把中间代码或经优化处理之后的代码变换成特定机器上的低级语言代码。

3)简述解释程序与编译程序的区别。

  编译程序能生成目标程序,而解释程序不能。编译程序是整体编译完了,再一次性执行。而解释程序是一边解释,一边执行。 解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。

4)了解新开源的华为方舟编译器(https://www.openarkcompiler.cn/home),理解它的基本思想与采用的技术路线,谈谈它对安卓软件生态会有什么影响。

  方舟编译器是华为专门为软件厂商开发的一款编译器,能够有效解决安卓程序“边解释边执行”的低效率问题。华为方舟编译器采用全程执行机器码高效运行程序,架构进一步得到优化,性能也有明显提升。相较与此前流畅度,通过华为方舟编译器编译后的程序系统,操作流畅度提升24%,系统响应速度提升44%,三方应用操作流畅度提升60%。

转载于:https://www.cnblogs.com/rushB/p/11451752.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值