了解编译原理
1)简述编译程序与翻译程序、汇编程序的联系与区别。
2)编译过程包括哪几个主要阶段及每个阶段的主要功能。
3)简述解释程序与编译程序的区别。
4)了解新开源的华为方舟编译器(https://www.openarkcompiler.cn/home),理解并谈谈它的基本思想与采用的技术路线,以及它对安卓软件生态会有什么影响。
多语言联合:将同一应用中的不同语言代码联合编译、联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本。
轻量运行时,通过编译器的语言实现能力和优化能力增强,应用运行时的开销更小。
软硬件协同:编译器与芯片实现软硬件协同优化,充分发挥硬件能效,应用体验更佳。
多平台支持:支持面向多样化的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率。
当前的安卓系统使用Java作为编程语言,易于开发,但是不会将代码直接编译成机器语言,程序运行时有相当一部分代码还需要通过手机上的虚拟机临时同步编译,影响程序执行的效率。
华为方舟编译器采取了静态编译的方式,是首个取代了安卓虚拟机模式的静态编译器。
华为方舟编译器采用全程执行机器码高效运行程序,架构优化,性能提升。相较与此前流畅度,通过华为方舟编译器编译后的程序系统,操作流畅度提升24%,
系统响应速度提升44%,三方应用操作流畅度提升60%。有效解决安卓程序“边解释边执行”的低效率问题