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

翻译程序是指把高级语言源程序翻译成机器语言源程序(目标代码)的软件。

翻译程序有两种:一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。另一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序。

编译程序是先完整编译后运行的程序。编译的过程就是将源代码文件以字符流的形式进行处理,进行词法和语法的分析,然后通过汇编器将源代码指令转变成汇编指令,编译的过程包括两个大部分:预处理 = 预编译。

汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。

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

词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。 

语法分析:根据语言的语法规则,把单词流组成各类语法单位

语义分析:检查程序的语义正确性,以保证程序各部分能有意义的结合在一起,为以后的代码生成阶段收集类型信息。

中间代码生成:根据语义规则产生一种介于源语言与目标代码之间的一种中间代码。

代码优化:对前面产生的中间代码进行加工变换,以期在最后阶段能产生更为高效的目标代码。

目标代码生成:把经过优化的中间代码转化成特定 机器上的低级语言代码

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

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

4)

方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器。兼顾Java开发效率和C语言运行效率的编译器。

华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。

华为方舟编译器能带来系统性能的显著提升。

 

posted on 2019-09-04 10:14  zlkang  阅读(174)  评论(0编辑  收藏  举报