中文字幕在线字幕_美女扒开双腿露出尿口无内裤图片_免费看三级中文字幕_少妇高潮ass

當前:主頁 > 代懷包成功 >

華為方舟編譯器深入解讀:已有45款第三方應(yīng)用

時間:2025-01-07 瀏覽:474 作者:admin
試管代懷有哪幾家

8月華為方舟編譯器(OpenArkCompiler)正式開源,官網(wǎng)已上線,源代碼包、二進制包已提供下載,相關(guān)文檔、演示等資料也一應(yīng)俱全。

本次方舟編譯器開源的是編譯器框架部分源碼,包括編譯器中間表示(IR)和語言編譯實現(xiàn),同時搭配編譯器其他二進制組件,實現(xiàn)Java程序到aarch64匯編指令的編譯過程。

開發(fā)者可基于開源代碼+二進制,編譯構(gòu)建出編譯器工具鏈,嘗試對Java程序進行編譯。

社區(qū)參與者可以通過框架源碼學習方舟編譯器的編譯器中間表達(IR)及基本的中端編譯框架,熟悉方舟編譯器的架構(gòu)思想,并參與諸如對編譯器中端優(yōu)化的貢獻。

【方舟編譯器的優(yōu)勢】

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

通過多語言統(tǒng)一IR表示,方舟編譯器可實現(xiàn)應(yīng)用中多種編程語言聯(lián)合編譯優(yōu)化提升性能,而且在支持多平臺的同時,根據(jù)設(shè)備特征提供便捷的開發(fā)與部署策略提升效率。

華為方舟編譯器提供了全新的系統(tǒng)及應(yīng)用的編譯和運行機制,從動態(tài)編譯變?yōu)殪o態(tài)編譯,就是直接將高級語言直接編譯成機器碼,徹底消除了虛擬機動態(tài)編譯的額外開銷,實現(xiàn)了開發(fā)和運行效率的兼容并舉。

多語言聯(lián)合

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

輕量運行時

通過編譯器的語言實現(xiàn)能力和優(yōu)化能力增強,應(yīng)用運行時的開銷更小

軟硬件協(xié)同

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

多平臺支持

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

【方舟編譯器的架構(gòu)設(shè)計】

當前方舟編譯器支持Java/Kotlin程序字節(jié)碼的前端輸入,C/C++/JS等其它編程語言的支持還在規(guī)劃中。

方舟編譯器的中間表示(IR)轉(zhuǎn)換器將前端輸入轉(zhuǎn)換成方舟IR,并輸送給后端的優(yōu)化器,最終生成二進制文件,二進制文件與編譯器運行時庫文件鏈接生成可執(zhí)行文件,在方舟的運行環(huán)境中就可執(zhí)行該文件。

方舟編譯器IR是支持程序編譯和運行的中間程序表示。程序源代碼中的任何信息對于程序分析和優(yōu)化都是有幫助的,所以方舟IR的目標是盡可能完整詳細地提供源程序的信息。

【方舟編譯器的環(huán)境配置】

-硬件配置推薦

方舟編譯器的硬件配置需求不高,最低只需2GHz雙核心處理器、2GB內(nèi)存、200GB硬盤空間,當然要獲得最高效率,更高配置是強烈推薦的。

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

需要64位版本的Linux,尤其推薦

sudoapt-get-yinstallopenjdk-jdkgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devlibcdev-i386lib32ncursesdevx11proto-core-devlibxdevlib32z-devccachelibglmesa-devlibxmlutilsxsltprocunziplib32zdevqemug++-multilibgcc-multilibpythonparamiko:i386

sudoapt-get-yinstallgcc-aarchlinux-gnug++-aarchlinux-gnu

-Clang編譯器

主要用于編譯方舟編譯器代碼。

下載clang+_地址:

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

GN_C_COMPILER="${MAPLE_ROOT}/tools/clang__/bin/clang"

GN_CXX_COMPILER="${MAPLE_ROOT}/tools/clang__/bin/clang++"

GN_AR="${MAPLE_ROOT}/tools/clang__/bin/llvm-ar"

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

安裝Ninja、GN并完成配置

-Ninja、GN

下載Ninja()及GN(LinuxVersion)Ninja,地址:

GN下載地址:

華為方舟編譯器深入解讀:已有45款第三方應(yīng)用

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

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

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

【方舟編譯器FAQ】

Q1:方舟編譯器開源有官方網(wǎng)站嗎?

A1:

孵化期間,官方網(wǎng)站為。正式畢業(yè)后的官網(wǎng)待定。

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

A2:

首次開源范圍是編譯器IR(IntermediateRepresentation)、RC(ReferenceCounting)和多語言設(shè)計思想等,用于與業(yè)界、學術(shù)界溝通交流。后續(xù)將陸續(xù)開源編譯器前端、后端,支持其它語言(比如JavaScript)的編譯等。

當前部分Java語言特性和JVM虛擬機特性的支持未包括在本次開源代碼中,包括annotation、lambda表達式、泛型等。

目前仍有很多地方不完善,會在社區(qū)陸續(xù)迭代,遇到問題請在社區(qū)提交issue。

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

A3:

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

華為云托管地址:

開源中國碼云托管地址:

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

A4:

方舟編譯器從2019年8月開始開源,歡迎廣大的應(yīng)用開發(fā)者、手機廠商、軟件從業(yè)人員一起共建開源社區(qū)和生態(tài)。

開源計劃大體上這樣安排:2019年8月重點開源框架部分;后續(xù)將陸續(xù)開源編譯器前端、后端;支持Jav程序編譯、JavaScript語言應(yīng)用的編譯等。

Q5:還有哪些方式可以獲取方舟編譯器的相關(guān)信息?

A5:

Q6:方舟編譯開源面向全球開發(fā)者嗎?英文網(wǎng)站何時上線?

A6:

方舟編譯器是向全球開發(fā)者進行開源,因此,官方網(wǎng)站和代碼托管平臺均面向全球開發(fā)者開放。

目前英文版網(wǎng)站正在緊張的開發(fā)及內(nèi)測,計劃將于2019年Q4上線。

Q7:方舟編譯器源碼托管計劃是怎么的?

A7:

孵化委員會期間,方舟編譯器代碼是托管在華為云上面。

在未來走向開放治理以后,將由所掛靠機構(gòu)選擇的平臺進行托管。如果掛靠的機構(gòu)采取了X平臺,就采用這個機構(gòu)的代碼托管模式進行托管。

當前代碼托管的地址:

所有相關(guān)信息請以方舟編譯器開源官方網(wǎng)站發(fā)布為準。

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

A8:

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

開源中國:

開源社:

InfoQ:*JE

A9:

_64.二進制包的MD5碼是:e7dc8b8c242f2d26429e2ad71dae3112

源代碼包的MD5碼是:1bf859a67c8b9a2d4080bdaf25ef6181

【方舟編譯器的合作伙伴】

從官網(wǎng)給出的介紹看,目前已有至少45款第三方應(yīng)用支持華為方舟編譯器,都是大家耳熟能詳?shù)某笥脩袅緼PP,不過尚未看到微信。

具體名單如下:

腾冲县| 无极县| 报价| 赣榆县| 延长县| 云浮市| 连山| 民勤县| 南安市| 江北区| 澄城县| 桦川县| 马关县| 贞丰县| 辉南县| 榆社县| 云浮市| 娱乐| 苏尼特左旗| 西乌珠穆沁旗| 新龙县| 双江| 石屏县| 江都市| 东乡县| 卢氏县| 建平县| 张北县| 海晏县| 盖州市| 赣榆县| 出国| 广平县| 曲阳县| 马山县| 佛学| 桓仁| 达拉特旗| 扎鲁特旗| 且末县| 益阳市|