最近更新|軟件分類|軟件專題|軟件排行|手機版|軟件發布華為方舟編譯器 v0.2 最新版
您的位置:首頁>編程開發 > 編程工具>華為方舟編譯器 v0.2 最新版

華為方舟編譯器 v0.2 最新版編譯工具

網友評分:

相關軟件

軟件介紹

華為方舟編譯器是一款全新上線的編譯工具,它可以讓你的操作系統變得更加流暢,而且還擁有很多的編譯功能,因此有需要的用戶趕緊來下載吧!

華為方舟編譯器

相關新聞

方舟編譯器概述

方舟編譯器是為支持多種編程語言、多種芯片平臺的聯合編譯、運行而設計的統一編程平臺,包含編譯器、工具鏈、運行時等關鍵部件。 方舟編譯器還在持續演進中,陸續將上述能力實現和開源。

本次方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現,同時搭配編譯器其他二進制組件,實現Java程序到aarch64匯編指令的編譯過程。開發者可基于開源代碼+二進制,編譯構建出編譯器工具鏈,嘗試對Java程序進行編譯。社區參與者可以通過框架源碼學習方舟編譯器的編譯器中間表達(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構思想,并參與諸如對編譯器中端優化的貢獻。

華為始終以開放的姿態擁抱開源,充分參與源碼共享,與開發者們共同成就開源世界的科技進步。在全球主流基金會及開源社區中,華為擁有十多個核心席位,作為Linux基金會白金會員,華為不斷貢獻自己的技術力量,對Linux kernel累積貢獻6800+補丁。同時,華為已與40多家頭部應用廠商合作,對各類流行應用進行編譯優化,并在未來不久上線。

此次公布方舟編譯器框架源碼后,華為預計將于2020年及以后實現方舟編譯器工具鏈完整開源。在官方開源社區中,開發者們可以參與并貢獻自己的力量,與華為一起共同推進基礎軟件的發展。

華為堅持每年將10%以上的銷售收入投入研究與開發,隨著軟件實力持續增強, 誕生了“GPU Turbo”“Link Turbo”“EROFS”等硬核技術。未來,華為將與廣大開發者以及合作伙伴進行更深入、廣泛的合作,堅持開放、合作、共贏的策略,聯接全行業的能力持續推進產業創新與開放生態。

軟件特色

多語言聯合

將同一應用中的不同語言代碼聯合編譯、聯合優化,消除語言間的性能“鴻溝”,降低開發者的優化成本

輕量運行時

通過編譯器的語言實現能力和優化能力增強,應用運行時的開銷更小

軟硬件協同

編譯器與芯片實現軟硬件協同優化,充分發揮硬件能效,應用體驗更佳

多平臺支持

支持面向多樣化的終端設備平臺進行編譯和運行,根據設備特征提供便捷的開發與部署策略,提高開發效率

華為方舟編譯器

華為方舟編譯器

軟件功能

一、開發階段打包的APK就直接是可執行,并且跨語言平臺

在方舟編譯器里面,已經編譯好的APK,會通過靜態編譯的方式先轉換成機器碼再安裝,這其實是AOT,無需麻煩的虛擬機,提升運行速度和效率。并且作為開發者,還可以根據不同的程序特點,選擇不同的編譯優化方案,不像安卓官方的方式使用統一的虛擬機方案。

二、方舟編譯器邊運行變清理,內存清爽

現在安卓手機的一大特色就是內存越來越大,6GB都是老人機的配置了。這除了程序大以外還有安卓的程序運行產生垃圾多有關系。那么清理垃圾呢?則需要暫停程序,也就會頓一下,即所謂的“卡”。華為方舟編譯器則是利用程序多線程運行的特點。打個比方,您現在正在用的“中關村在線”這個APP用了AB兩個線程,在華為的P30手機中,那么線程A運行的時候,B在清理垃圾,然后A線程清理垃圾的時候B線程在運行,程序運行不中斷,垃圾處理不停,做到了又連貫、又節約系統資源。

三、方舟編譯器,應用級編譯優化

代碼優化是編譯器最為核心的功能,也是評判一個編譯器優劣最重要的標準。

當前由于安卓應用使用了虛擬機機制,難以面向不同應用對虛擬機進行針對性的靈活優化。

安卓ART的AoT和JIT動態編譯因為是運行在手機上,受資源所限,因而只能使用簡單的優化算法。

而方舟編譯器由于是在應用開發階段進行編譯,所以可以允許不同應用靈活采用不同的編譯優化方案,而且因為在開發環境編譯不會受到手機性能的限制,可以使用更多先進的優化算法,從而使得每個應用的性能達到最佳。

方舟編譯器結構示意圖

華為方舟編譯器

使用方法

開發環境推薦

您需要安裝一個64位版本的Ubuntu(推薦Ubuntu 16.04)

sudo apt-get -y install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lib32z1-dev qemu g++-multilib gcc-multilib python3-paramiko python-paramiko python-jenkins python-requests python-xlwt libglib2.0-dev libpixman-1-dev linux-libc-dev:i386

sudo apt-get -y install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu

安裝Clang編譯器并完成配置(用于編譯方舟編譯器代碼)

下載clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04

LLVM下載地址: http://releases.llvm.org/download.html#8.0.0

放置到openarkcompiler/tools目錄,打開openarkcompiler/build/config/BUILDCONFIG.gn文件,將GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三個變量配置為Clang編譯器所在路徑,例如:

GN_C_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang"

GN_CXX_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++"

GN_AR_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/llvm-ar"

其中${MAPLE_ROOT}為openarkcompiler源碼根目錄。

安裝Ninja、GN并完成配置

下載Ninja(v1.9.0)及GN(Linux Version)

Ninja下載地址: https://github.com/ninja-build/ninja/releases

GN下載地址:https://archive.softwareheritage.org/browse/content/sha1_git:2dc0d5b26caef44f467de8120b26f8aad8b878be/raw/?filename=gn

將GN和Ninja可執行程序放置到openarkcompiler/tools目錄,打開openarkcompiler/Makefile文件,將GN和NINJA兩個變量配置為GN和Ninja可執行程序所在路徑。例如:

GN := ${MAPLE_ROOT}/tools/gn/gn

NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja

常見問題

Q1:方舟編譯器是一次性全部代碼嗎?

答:

首次開源范圍是編譯器 IR( Intermediate Representation)、RC(Reference Counting)和多語言設計思想等,用于與業界、學術界溝通交流。接下來將陸續開源編譯器前端、后端,支持其它語言(如 JavaScript)的編譯等,當前部分Java語言特性和JVM虛擬機特性的支持未包括在本次開源代碼中,包括:annotation、lambda表達式、泛型等。目前仍有很多地方不完善,會在社區陸續迭代,遇到問題請在社區提交 issue,歡迎在社區繼續討論設計和代碼共建。。

Q2:通過哪些渠道可以獲取方舟編譯器的框架源碼?

答:

孵化期間,開發者可以通過如下代碼托管網址獲得相關代碼和文檔,供參考學習、了解方舟編譯器的架構和代碼。

華為云托管地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler。

開源中國碼云托管地址:https://gitee.com/harmonyos/OpenArkCompiler

Q3:方舟編譯器開源路標是怎樣的?

答:

方舟編譯器從 2019 年 8 月開始開源,歡迎廣大的應用開發者、手機廠商、軟件從業人員一起共建開源社區和生態。 開源計劃大體上這樣安排:2019 年 8 月重點開源框架部分,接下來將陸續開源編譯器前端、后端;支持 Java 程序編譯、JavaScript 語言應用的編譯等。

Q4:方舟編譯器開源使用的是什么License?

答:

方舟編譯器采用木蘭 License。 木蘭 License 由業界眾多專家和公司集體共建,并非華為主導。木蘭 License 具體的好處,詳見專業點評:

開源中國:https://www.oschina.net/news/108840/mulanpsl-the-1st-opensource-license-of-china

開源社:https://mp.weixin.qq.com/s/1xqxxiNKhcgw4RRspAaW2A

InfoQ:https://www.infoq.cn/article/KrZAbAcJrxCU27vKj*JE

Q5: 如何確認下載包來源可靠?md5校驗碼是多少?

答:

OpenArkCompiler-0.2-ubuntu-16.04-x86_64.tar.gz 包的 MD5碼是: e7dc8b8c242f2d26429e2ad71dae3112

OpenArkCompiler-0.2.tar.gz 包的MD5碼是:1bf859a67c8b9a2d4080bdaf25ef6181

  • 下載地址

點擊報錯軟件無法下載或下載后無法使用,請點擊報錯,謝謝!
06年超级大乐透走势图