明輝站中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

華為方舟編譯器電腦端官方正版2024最新版綠色免費(fèi)下載安裝

[摘要]軟件介紹華為方舟編譯器是一款支持多語(yǔ)言的編譯工具,由華為公司開(kāi)發(fā),實(shí)現(xiàn)Java程序到aarch64匯編指令的編譯過(guò)程,華為方舟編譯器的開(kāi)發(fā)者可基于開(kāi)源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Ja...

軟件介紹


  華為方舟編譯器是一款支持多語(yǔ)言的編譯工具,由華為公司開(kāi)發(fā),實(shí)現(xiàn)Java程序到aarch64匯編指令的編譯過(guò)程,華為方舟編譯器的開(kāi)發(fā)者可基于開(kāi)源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Java程序進(jìn)行編譯。

華為方舟編譯器

基本簡(jiǎn)介

  方舟編譯器概述

  方舟編譯器是為支持多種編程語(yǔ)言、多種芯片平臺(tái)的聯(lián)合編譯、運(yùn)行而設(shè)計(jì)的統(tǒng)一編程平臺(tái),包含編譯器、工具鏈、運(yùn)行時(shí)等關(guān)鍵部件。 方舟編譯器還在持續(xù)演進(jìn)中,陸續(xù)將上述能力實(shí)現(xiàn)和開(kāi)源。

  本次方舟編譯器開(kāi)源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語(yǔ)言編譯實(shí)現(xiàn),同時(shí)搭配編譯器其他二進(jìn)制組件,實(shí)現(xiàn)Java程序到aarch64匯編指令的編譯過(guò)程。開(kāi)發(fā)者可基于開(kāi)源代碼+二進(jìn)制,編譯構(gòu)建出編譯器工具鏈,嘗試對(duì)Java程序進(jìn)行編譯。社區(qū)參與者可以通過(guò)框架源碼學(xué)習(xí)方舟編譯器的編譯器中間表達(dá)(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構(gòu)思想,并參與諸如對(duì)編譯器中端優(yōu)化的貢獻(xiàn)。

  華為始終以開(kāi)放的姿態(tài)擁抱開(kāi)源,充分參與源碼共享,與開(kāi)發(fā)者們共同成就開(kāi)源世界的科技進(jìn)步。在全球主流基金會(huì)及開(kāi)源社區(qū)中,華為擁有十多個(gè)核心席位,作為L(zhǎng)inux基金會(huì)白金會(huì)員,華為不斷貢獻(xiàn)自己的技術(shù)力量,對(duì)Linux kernel累積貢獻(xiàn)6800+補(bǔ)丁。同時(shí),華為已與40多家頭部應(yīng)用廠商合作,對(duì)各類流行應(yīng)用進(jìn)行編譯優(yōu)化,并在未來(lái)不久上線。

  此次公布方舟編譯器框架源碼后,華為預(yù)計(jì)將于2020年及以后實(shí)現(xiàn)方舟編譯器工具鏈完整開(kāi)源。在官方開(kāi)源社區(qū)中,開(kāi)發(fā)者們可以參與并貢獻(xiàn)自己的力量,與華為一起共同推進(jìn)基礎(chǔ)軟件的發(fā)展。

  華為堅(jiān)持每年將10%以上的銷售收入投入研究與開(kāi)發(fā),隨著軟件實(shí)力持續(xù)增強(qiáng), 誕生了“GPU Turbo”“Link Turbo”“EROFS”等硬核技術(shù)。未來(lái),華為將與廣大開(kāi)發(fā)者以及合作伙伴進(jìn)行更深入、*的合作,堅(jiān)持開(kāi)放、合作、共贏的策略,聯(lián)接全行業(yè)的能力持續(xù)推進(jìn)產(chǎn)業(yè)創(chuàng)新與開(kāi)放生態(tài)。

軟件特色

  多語(yǔ)言聯(lián)合

  將同一應(yīng)用中的不同語(yǔ)言代碼聯(lián)合編譯、聯(lián)合優(yōu)化,消除語(yǔ)言間的性能“鴻溝”,降低開(kāi)發(fā)者的優(yōu)化成本

  輕量運(yùn)行時(shí)

  通過(guò)編譯器的語(yǔ)言實(shí)現(xiàn)能力和優(yōu)化能力增強(qiáng),應(yīng)用運(yùn)行時(shí)的開(kāi)銷更小

  軟硬件協(xié)同

  編譯器與芯片實(shí)現(xiàn)軟硬件協(xié)同優(yōu)化,充分發(fā)揮硬件能效,應(yīng)用體驗(yàn)更佳

  多平臺(tái)支持

  支持面向多樣化的終端設(shè)備平臺(tái)進(jìn)行編譯和運(yùn)行,根據(jù)設(shè)備特征提供便捷的開(kāi)發(fā)與部署策略,提高開(kāi)發(fā)效率

功能介紹

  一、開(kāi)發(fā)階段打包的APK就直接是可執(zhí)行,并且跨語(yǔ)言平臺(tái)

  在方舟編譯器里面,已經(jīng)編譯好的APK,會(huì)通過(guò)靜態(tài)編譯的方式先轉(zhuǎn)換成機(jī)器碼再安裝,這其實(shí)是AOT,無(wú)需麻煩的虛擬機(jī),提升運(yùn)行速度和效率。并且作為開(kāi)發(fā)者,還可以根據(jù)不同的程序特點(diǎn),選擇不同的編譯優(yōu)化方案,不像安卓官方的方式使用統(tǒng)一的虛擬機(jī)方案。

  二、方舟編譯器邊運(yùn)行變清理,內(nèi)存清爽

  現(xiàn)在安卓手機(jī)的一大特色就是內(nèi)存越來(lái)越大,6GB都是老人機(jī)的配置了。這除了程序大以外還有安卓的程序運(yùn)行產(chǎn)生垃圾多有關(guān)系。那么清理垃圾呢?則需要暫停程序,也就會(huì)頓一下,即所謂的“卡”。華為方舟編譯器則是利用程序多線程運(yùn)行的特點(diǎn)。打個(gè)比方,您現(xiàn)在正在用的“中關(guān)村在線”這個(gè)APP用了AB兩個(gè)線程,在華為的P30手機(jī)中,那么線程A運(yùn)行的時(shí)候,B在清理垃圾,然后A線程清理垃圾的時(shí)候B線程在運(yùn)行,程序運(yùn)行不中斷,垃圾處理不停,做到了又連貫、又節(jié)約系統(tǒng)資源。

  三、方舟編譯器,應(yīng)用級(jí)編譯優(yōu)化

  代碼優(yōu)化是編譯器最為核心的功能,也是評(píng)判一個(gè)編譯器優(yōu)劣*重要的標(biāo)準(zhǔn)。

  當(dāng)前由于安卓應(yīng)用使用了虛擬機(jī)機(jī)制,難以面向不同應(yīng)用對(duì)虛擬機(jī)進(jìn)行針對(duì)性的靈活優(yōu)化。

  安卓ART的AoT和JIT動(dòng)態(tài)編譯因?yàn)槭沁\(yùn)行在手機(jī)上,受資源所限,因而只能使用簡(jiǎn)單的優(yōu)化算法。

  而方舟編譯器由于是在應(yīng)用開(kāi)發(fā)階段進(jìn)行編譯,所以可以允許不同應(yīng)用靈活采用不同的編譯優(yōu)化方案,而且因?yàn)樵陂_(kāi)發(fā)環(huán)境編譯不會(huì)受到手機(jī)性能的限制,可以使用更多先進(jìn)的優(yōu)化算法,從而使得每個(gè)應(yīng)用的性能達(dá)到*佳。

使用方法

  開(kāi)發(fā)環(huán)境推薦

  您需要安裝一個(gè)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目錄,打開(kāi)openarkcompiler/build/config/BUILDCONFIG.gn文件,將GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三個(gè)變量配置為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可執(zhí)行程序放置到openarkcompiler/tools目錄,打開(kāi)openarkcompiler/Makefile文件,將GN和NINJA兩個(gè)變量配置為GN和Ninja可執(zhí)行程序所在路徑。例如:

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

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

常見(jiàn)問(wèn)題

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

  答:

  *開(kāi)源范圍是編譯器 IR( Intermediate Representation)、RC(Reference Counting)和多語(yǔ)言設(shè)計(jì)思想等,用于與業(yè)界、學(xué)術(shù)界溝通交流。接下來(lái)將陸續(xù)開(kāi)源編譯器前端、后端,支持其它語(yǔ)言(如 JavaScript)的編譯等,當(dāng)前部分Java語(yǔ)言特性和JVM虛擬機(jī)特性的支持未包括在本次開(kāi)源代碼中,包括:annotation、lambda表達(dá)式、泛型等。目前仍有很多地方不完善,會(huì)在社區(qū)陸續(xù)迭代,遇到問(wèn)題請(qǐng)?jiān)谏鐓^(qū)提交 issue,歡迎在社區(qū)繼續(xù)討論設(shè)計(jì)和代碼共建。。

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

  答:

  孵化期間,開(kāi)發(fā)者可以通過(guò)如下代碼托管網(wǎng)址獲得相關(guān)代碼和文檔,供參考學(xué)習(xí)、了解方舟編譯器的架構(gòu)和代碼。

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

  開(kāi)源中國(guó)碼云托管地址:https://gitee.com/harmonyos/OpenArkCompiler

  Q3:方舟編譯器開(kāi)源路標(biāo)是怎樣的?

  答:

  方舟編譯器從 2019 年 8 月開(kāi)始開(kāi)源,歡迎廣大的應(yīng)用開(kāi)發(fā)者、手機(jī)廠商、軟件從業(yè)人員一起共建開(kāi)源社區(qū)和生態(tài)。 開(kāi)源計(jì)劃大體上這樣安排:2019 年 8 月重點(diǎn)開(kāi)源框架部分,接下來(lái)將陸續(xù)開(kāi)源編譯器前端、后端;支持 Java 程序編譯、JavaScript 語(yǔ)言應(yīng)用的編譯等。

  Q4:方舟編譯器開(kāi)源使用的是什么License?

  答:

  方舟編譯器采用木蘭 License。 木蘭 License 由業(yè)界眾多專家和公司集體共建,并非華為主導(dǎo)。木蘭 License 具體的好處,詳見(jiàn)專業(yè)點(diǎn)評(píng):

  開(kāi)源中國(guó):https://www.oschina.net/news/108840/mulanpsl-the-1st-opensource-license-of-china

  開(kāi)源社:https://mp.weixin.qq.com/s/1xqxxiNKhcgw4RRspAaW2A

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

  Q5: 如何確認(rèn)下載包來(lái)源可靠?md5校驗(yàn)碼是多少?

  答:

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

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





下載地址

  • PC版

相關(guān)軟件

騰訊視頻最新官方版

騰訊視頻官方版 | 45.34MB

騰訊視頻官方版

騰訊視頻是騰訊旗下的視頻播放產(chǎn)品,定位于中國(guó)最大在線視頻媒體平臺(tái),于2011年4月正式上線運(yùn)營(yíng)獨(dú)立域名的視頻網(wǎng)站,支持豐富內(nèi)容的在線點(diǎn)播及電視臺(tái)直播,提供列表管理..

愛(ài)奇藝視頻官方正式版

愛(ài)奇藝視頻官方正式版 | 35.10MB

愛(ài)奇藝視頻官方正式版

愛(ài)奇藝,原名奇藝,于2010年4月22日正式上線,2011年11月26日品牌升級(jí),啟動(dòng)“愛(ài)奇藝”品牌并推出全新標(biāo)志。愛(ài)奇藝創(chuàng)始人龔宇博士擔(dān)任CEO。...

暴風(fēng)影音最新版下載

暴風(fēng)影音最新版下載 | 50.3MB

暴風(fēng)影音最新版下載

暴風(fēng)影音播放的文件清晰,當(dāng)有文件不可播時(shí),右上角的“播”起到了切換視頻解碼器和音頻解碼器的功能,會(huì)切換視頻的最佳三種解碼方式,同時(shí),暴風(fēng)影音也是國(guó)人最喜愛(ài)的播放器之一...

QQ音樂(lè)官方正式版

QQ音樂(lè)官方正式版 | 24.2MB

QQ音樂(lè)官方正式版

QQ音樂(lè)是騰訊公司推出的網(wǎng)絡(luò)音樂(lè)平臺(tái),是中國(guó)互聯(lián)網(wǎng)領(lǐng)域領(lǐng)先的正版數(shù)字音樂(lè)服務(wù)的領(lǐng)先平臺(tái),有著個(gè)性明星主題:大咖裝,添星妝!...

酷狗音樂(lè)2022最新版下載

酷狗音樂(lè)2022下載 | 37MB

酷狗音樂(lè)2022最新版下載

酷狗是中國(guó)領(lǐng)先的數(shù)字音樂(lè)交互服務(wù)提供商,互聯(lián)網(wǎng)技術(shù)創(chuàng)新的領(lǐng)軍企業(yè),致力于為互聯(lián)網(wǎng)用戶和數(shù)字音樂(lè)產(chǎn)業(yè)發(fā)展提供最佳的解決方案...

酷我音樂(lè)官方版下載

酷我音樂(lè)下載 | 47.4MB

酷我音樂(lè)官方版下載

酷我音樂(lè)的界面簡(jiǎn)潔大方,淺藍(lán)色與橙色相間,符合大多數(shù)用戶的審美喜好。打開(kāi)酷我音樂(lè),上部菜單欄包括“我的”、“推薦”、“曲庫(kù)”、“視頻”...