首页 » 爱链网 » 附源码下载(编译器方舟华为编译软件包)「华为方舟编译器开源」

附源码下载(编译器方舟华为编译软件包)「华为方舟编译器开源」

落叶飘零 2024-07-23 20:11:38 爱链网 0

扫一扫用手机浏览

文章目录 [+]

现在根据华为开发者官网最新消息,编译工具方舟编译器已经对外发布。
据介绍,方舟编译器是基于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环境。

b) 登陆HCC下载地址下载压缩包

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标准用法,三方应用可直接进行编译,不需要修改代码。
但如果希望获得更加好的性能或内存方面的提升,则可以通过调整代码结构,与方舟编译器配合优化来实现。

相关文章