华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载

Posted 开发者全社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载相关的知识,希望对你有一定的参考价值。


文导读|   点击标题阅读


来源:IT之家

2019华为全球开发者大会将在8月9日-11日在华为松山湖基地召开。本次开发者大会邀请了1500位合作伙伴、5000名全球开发者,将是华为历来规模最大的一次会议。在这次大会上,华为方舟编译器也是关注的热点。

现在根据华为开发者官网最新消息,编译工具方舟编译器已经对外发布。据介绍,方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC运行在X86 linux架构服务器上,生成的二进制运行在Aarch64架构服务器上。

1. 安装前准备

1) 环境要求
方舟编译器支持如下64位操作系统。
SUSE12sp4及以上版本。
ubuntu16.04及以上版本。

其他glibc版本在2.22及以上的Linux发行版。

2) 获取软件包

安装方舟编译器需要获取如表2-1所示的开源软件包。

表2-1开源软件包
软件包名称
软件包说明
获取路径
GCC 7.3.0
编译器源码包
https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
Binutils
2.31.1
汇编器、链接器等
二进制 工具集源码包
https://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.gz
Glibc 2.29
GNU libc库源码包
https://git.linaro.org/toolchain/glibc.git/snapshot/glibc-2.29.tar.gz
Mpc 1.1.0
复数运算库
https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
GNU MPFR 
4.0.2
多精度浮点计算库
https://www.mpfr.org/mpfr-current/mpfr-4.0.2.tar.gz
isl 0.21
集和线性约束范围内
整数点关系的操作库
http://isl.gforge.inria.fr/isl-0.21.tar.gz

2. 安装HCC编译器

1) 操作步骤
您可以使用HCC tar包将HCC安装到当前用户权限下的任何位置,而不会影响其他编译器的使用。
a) 介绍操作入口,例如用XX帐号登录XX环境。
hcc_arm64le.tar.gz
c) 将tar包拷贝至您想要安装的目录。
命令脚本如下所示。
cp hcc_arm64le.tar.gz /path/to/your/dir
d) 解压缩软件包。
命令脚本如下所示。
tar zxvf hcc_arm64le.tar.gz
e) 设置环境变量。
设置环境变量命令脚本如下所示。
export PATH=/path/to/your/dir/hcc_arm64le/bin:$PATH
HCC编译器提供的编译工具在=/path/to/your/dir/hcc_arm64le/bin目录下。
2) 安装后检查
HCC编译器安装完成后,可以执行aarch64-linux-gnu-gcc -v命令查询HCC版本。
软件下载
据华为官方方面介绍,方舟编译器是首家完全替代语言虚拟机的静态编译器,完全不需要解释器。兼顾Java开发效率和C语言运行效率的编译器。相比现有的编译机制:
1.方舟编译器是一种静态的编译方式,而现有的安卓系统,运行一个应用程序首先启动虚拟机,然后读入应用程序代码,逐条解释执行。会占用较多的处理资源,影响程序执行的效率。当然,也有包括AOT或JIT等提前或运行时的编译技术,把部分程序转换成机器码直接在CPU上执行。但是,仍旧无法做到100%做到摆脱虚拟机的执行,这也是当前安卓阵营不如ios阵营的关键。
2.华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装应用程序后可全速运行程序,彻底消除虚拟机的弊病,带来效率上的极大提升。
3.方舟编译器是在开发环境部署的编译器,而现有编译过程,主要发生在手机上,带来额外的资源消耗。

目前方舟编译器针对通用ARM芯片架构进行编译优化,未来将通过软硬件协同设计,将麒麟芯片的能力发挥到极致。同时方舟编译器支持Java标准用法,三方应用可直接进行编译,不需要修改代码。但如果希望获得更加好的性能或内存方面的提升,则可以通过调整代码结构,与方舟编译器配合优化来实现。

而同时华为声称: 方舟编译器与华为P30没有任何关系,官网介绍引起争议 

官方介绍称,方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC运行在X86 linux架构服务器上,生成的二进制运行在Aarch64架构服务器上。

不过官方页面描述引起了许多网友的质疑,因为此前华为宣传的方舟编译器是革命性的全新编译器,而此次公开的“方舟编译器”则仅仅是基于GCC7.3的修改版,事实上GCC是一种很常用的开源编译器,android现在已经切换到性能更好的LLVM。

华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载

引起争议后,华为手机产品线副总裁李小龙在微博上对“GCC套皮说”进行了辟谣,他表示:“这个网站不是华为消费者BG维护的网站,此编译器好像是服务器部门用的,和我们之前和P30一起发布的方舟编译器没有任何关系

换言之,该页面的“方舟编译器”并非华为手机上的方舟编译器,华为BG在该页面上线前也并不知晓其具体内容,随后华为也删除了该页面防止进一步误导用户。

看完本文有收获?请转发分享给更多人


我们的知识星球第三期开期了,已达到1100人了,能连续做三期已很不容易了,有很多老用户续期,目前续期率达到50%,说明了大家对我们的知识星球还是很认可的,欢迎大家加入尽早我们的知识星球,更多星球信息参见:

说两件事

更多学习资料点击下面的“阅读原文 ”获取

谢谢老板,点个好看↓

以上是关于华为蒙洪OS方舟编译器编译工具正式发布, 附源码下载的主要内容,如果未能解决你的问题,请参考以下文章

华为鸿蒙系统终于来了!首款方舟编译器应用正式上架:鸿蒙OS可用

让安卓性能提升60%,华为方舟编译器正式开源

万众瞩目:华为方舟编译器开源官网正式上线,框架代码公布

国人之光,华为方舟编译器正式开源!

鸿蒙OS终于现身!华为方舟编译器开源,代码没放GitHub

提速安卓支撑鸿蒙?“大杀器”方舟编译器深度解析