'華為方舟編譯器編譯工具正式發佈,附源碼下載'

"

IT之家8月5日消息 2019華為全球開發者大會將在8月9日-11日在華為松山湖基地召開。本次開發者大會邀請了1500位合作伙伴、5000名全球開發者,將是華為歷來規模最大的一次會議。在這次大會上,華為方舟編譯器也是關注的熱點。

"

IT之家8月5日消息 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環境。

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標準用法,三方應用可直接進行編譯,不需要修改代碼。但如果希望獲得更加好的性能或內存方面的提升,則可以通過調整代碼結構,與方舟編譯器配合優化來實現。

"

相關推薦

推薦中...