雷锋网消息,8月5日,赶在年华为全球开发者大会正式开幕的前几天,华为正式对外发布了此前已经对外公布的编译工具——方舟编译器。
据了解,方舟编译器是基于GCC(GNUCompilerCollection,GNU编译器套件)开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC(即华为方舟编译器)运行在X86linux架构服务器上,生成的二进制运行在Aarch64架构服务器上。
此前,华为在4月份的华为P30系列国内发布会上宣布了方舟编译器的存在。按照官方说法,方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器;同时兼顾Java开发效率和C语言运行效率的编译器。相比现有的编译机制,有如下优势:
方舟编译器是一种静态的编译方式,而现有的Android系统,运行一个应用程序首先启动虚拟机,然后读入应用程序代码,逐条解释执行。会占用较多的处理资源,影响程序执行的效率。当然,也有包括AOT或JIT等提前或运行时的编译技术,把部分程序转换成机器码直接在CPU上执行。但是,仍旧无法做到%做到摆脱虚拟机的执行,这也是当前Android阵营不如iOS阵营的关键。华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。方舟编译器是在开发环境部署的编译器,而现有编译过程,主要发生在手机上,带来额外的资源消耗。方舟编译器针对通用ARM芯片架构进行编译优化,未来将通过软硬件协同设计,将麒麟芯片的能力发挥到极致。同时方舟编译器支持Java标准用法,三方应用可直接进行编译,不需要修改代码。但如果希望获得更加好的性能或内存方面的提升,则可以通过调整代码结构,与方舟编译器配合优化来实现。
目前,华为已经放出了方舟编译器的详细介绍页面,相关下载地址也已经给出。