作业1-了解编译原理

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

    翻译程序是能够将高级语言源程序翻译成机器语言源的程序,汇编也是一种语言翻译程序,它把汇编语言源程序翻译成机器语言程序。

  编译程序和汇编程序的区别是如果源语言是C、java等高级语言,目标语言是诸如汇编语言或机器语言之类的低级语言,这样的一个翻译程序称为编译程序。如果源语言是汇编语言,而目标语言是机器语言,这样的一个翻译程序称为汇编程序。

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

    编译过程,由源程序经过词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成几个步骤转化为目标程序。

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

    编译程序能生成目标程序,而解释程序不能。编译程序是整体编译完了,再一次性执行。而解释程序是一边解释,一边执行.编译程序生成的目标程序能够直接给机器去使用,所以运行速度很快,而解释程序其实在运行过程中一条条的语言解释成机器语言,所以速度不及编译后的程序来得快。

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

  方舟编译器首次在Java领域将虚拟机干掉了,也是软件史上首次将Java/C/C++等混合代码一次编译成机器码直接在手机上运行,彻底告别Java的JNI额外开销,也彻底告别了虚拟机GC内存回收带来的应用进程掉线,使操作流畅度大幅提升。

原文地址:https://www.cnblogs.com/dulidemao/p/11457861.html