0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

華為方舟編譯器開(kāi)源官網(wǎng)正式上線,代碼沒(méi)有放在GitHub

DPVg_AI_era ? 來(lái)源:lq ? 2019-09-13 16:04 ? 次閱讀

昨日,華為方舟編譯器開(kāi)源官網(wǎng)正式上線,代碼沒(méi)有放在GitHub,而是放到了開(kāi)源中國(guó)的碼云上。此次方舟編譯器的開(kāi)源打響了鴻蒙OS開(kāi)源的第一槍,未來(lái)將有更多開(kāi)源陸續(xù)放出。

Show you the code! 8月31日,華為方舟編譯器開(kāi)源官網(wǎng)正式上線,余承東也在微博上公布了相關(guān)消息。

方舟編譯器是為支持多種編程語(yǔ)言、多種芯片平臺(tái)的聯(lián)合編譯、運(yùn)行而設(shè)計(jì)的統(tǒng)一編程平臺(tái),包含編譯器、工具鏈、運(yùn)行時(shí)等關(guān)鍵部件。

方舟編譯器整體框架

值得關(guān)注的是,此次方舟代碼沒(méi)有放在GitHub,而是放到華為自建的開(kāi)源平臺(tái),以及開(kāi)源中國(guó)的碼云上,目前已收獲876顆星。

官方網(wǎng)站: https://www.openarkcompiler.cn 代碼托管網(wǎng)站: https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler 碼云鏡像倉(cāng)庫(kù)地址: https://gitee.com/harmonyos/OpenArkCompiler

鴻蒙OS開(kāi)源第一槍,更多開(kāi)源陸續(xù)放出

此次方舟編譯器的開(kāi)源打響了鴻蒙OS開(kāi)源的第一槍,首次開(kāi)源范圍是編譯器 IR( Intermediate Representation)、RC(Reference Counting)和多語(yǔ)言設(shè)計(jì)思想等,用于與業(yè)界、學(xué)術(shù)界溝通交流。

后續(xù)將陸續(xù)開(kāi)源編譯器前端、后端,支持其它語(yǔ)言(如 JavaScript)的編譯等,當(dāng)前部分Java語(yǔ)言特性和JVM虛擬機(jī)特性的支持未包括在本次開(kāi)源代碼中,包括:annotation、lambda表達(dá)式、泛型等。

華為消費(fèi)者 BG 軟件部總裁王成錄表示方舟編譯器代碼會(huì)陸續(xù)開(kāi)源 根據(jù)之前華為在開(kāi)發(fā)者大會(huì)上公布的信息,作為鴻蒙OS的重要工具,方舟編譯器從2019年8月開(kāi)始,將分步驟持續(xù)進(jìn)行開(kāi)源。

具體的開(kāi)源計(jì)劃如下: 2020年:開(kāi)始對(duì)Java編譯器工具鏈開(kāi)源,支持Java程序編譯。 2021年:開(kāi)始對(duì)JavaScript編譯器工具鏈開(kāi)源,可用于JS程序的編譯。

方舟編譯器開(kāi)源路標(biāo)(綠色部分是本期開(kāi)源內(nèi)容,藍(lán)色部分待開(kāi)源)

演示樣例

華為提供了HelloWorld、Exception 異常處理、RC 引用計(jì)數(shù)、Tread多線程等多個(gè)演示樣例:

樣例:HelloWorld 方舟編譯器的4大優(yōu)勢(shì):

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

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

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

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

方舟編譯器面向全球開(kāi)發(fā)者進(jìn)行開(kāi)源,因此,官方網(wǎng)站和代碼托管平臺(tái)均面向全球開(kāi)發(fā)者開(kāi)放。目前英文版網(wǎng)站正在開(kāi)發(fā)及內(nèi)測(cè),計(jì)劃將于 2019 年 Q4 上線。

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

如何評(píng)價(jià)方舟編譯器?不如去讀代碼

既然華為已經(jīng)Show you the code,代碼是檢驗(yàn)成色的唯一標(biāo)準(zhǔn),開(kāi)發(fā)者也可以通過(guò)代碼托管平臺(tái)參與社區(qū)貢獻(xiàn)。 開(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)。 根據(jù)說(shuō)明,目前方舟編譯器的代碼托管在華為云,在未來(lái)走向開(kāi)放治理以后,將按照所掛靠機(jī)構(gòu)的模式來(lái)托管。開(kāi)發(fā)者可通過(guò)代碼托管平臺(tái)參與社區(qū)貢獻(xiàn),包括文檔貢獻(xiàn)和代碼貢獻(xiàn),同時(shí)也可在此平臺(tái)上反饋相關(guān)問(wèn)題和需求。 下面是知乎用戶周剛的評(píng)論,新智元經(jīng)授權(quán)轉(zhuǎn)載:

的確是通過(guò)中間語(yǔ)言 (IR) 來(lái)實(shí)現(xiàn)的,被 IR 接管的部分不管是不是靜態(tài)語(yǔ)言,都變成了一種前端描述語(yǔ)言;因?yàn)槭遣糠謱?shí)現(xiàn) (只可能做到部分),那其他語(yǔ)言的 runtime 必須得保留,從邏輯上講在 Android 上 JVM 還得繼續(xù)存在,好像和之前華為開(kāi)發(fā)者大會(huì)說(shuō)的完全靜態(tài)化不太一樣;語(yǔ)言層面的靜態(tài)化并不是一個(gè)新鮮概念,但基本上都是針對(duì)單一語(yǔ)言而言,多語(yǔ)言的靜態(tài)化對(duì)我來(lái)說(shuō)的確是第一次看到 (想了下這種做法其實(shí)是華為目前最好的選擇了),考慮到語(yǔ)言的衍生面,這種做法從工作量來(lái)講的確非常非常硬核,并且這種硬核更多的應(yīng)該還是 runtime 部分的工作量:相當(dāng)于做了一個(gè) runtime 中間層來(lái)負(fù)責(zé) API 轉(zhuǎn)發(fā) (這部分不開(kāi)源);

開(kāi)發(fā)者大會(huì)被吹上天際的 GC 機(jī)制的確是我當(dāng)時(shí)預(yù)測(cè)的 Reference Counting 機(jī)制;

vTable 的實(shí)現(xiàn)有點(diǎn)意思,我一直挺喜歡 js 的原型鏈設(shè)計(jì),方舟的實(shí)現(xiàn)相當(dāng)于一種固定長(zhǎng)度 (24 個(gè)) 的原型鏈設(shè)計(jì),這種做法很務(wù)實(shí);

最后吐槽一下:

文檔的排版,用例和組合方式為什么看起來(lái)象實(shí)習(xí)生做的;

C/C++ 的編程規(guī)范雖然很務(wù)實(shí),但既然要開(kāi)源拿出來(lái)見(jiàn)人,能不能也好好組織一下前后邏輯;

為什么 3 分鐘開(kāi)源就由 Public 轉(zhuǎn)成了 Private;

十年方舟,再造安卓

關(guān)于方舟編譯器的前世今生,可以參考新智元之前推薦的“菊廠搞機(jī)”的一篇文章《十年磨一劍!萬(wàn)字長(zhǎng)文剖析華為方舟編譯器的前世今生》: 可能很多人不知道,華為為方舟編譯器準(zhǔn)備了十年。 2009年,華為啟動(dòng)5G基礎(chǔ)技術(shù)研究的同時(shí),開(kāi)始創(chuàng)建編譯組,第一批海內(nèi)外研究人員加入。 2013年,華為推出面向基站領(lǐng)域的自研編譯器HCC,并正式提出編譯器框架構(gòu)想。 2014年,眾多海內(nèi)外專家加入華為,方舟項(xiàng)目正式啟動(dòng)。 2016年,成立編譯器與編程語(yǔ)言實(shí)驗(yàn)室。 2019年,華為方舟編譯器正式面世!

這十年,每一次攻關(guān)都蘊(yùn)含著華為軟件工程師們的傾力投入,每一個(gè)進(jìn)展都值得銘記。 2017年5月,方舟編譯器上第一個(gè)Java程序“Hello World”跑通。 2017年8月的一個(gè)凌晨,在華為的一個(gè)實(shí)驗(yàn)室里,項(xiàng)目組已經(jīng)連續(xù)數(shù)日24小時(shí)不間斷攻關(guān),卻始終看不到success的返回信息。絕望之下,工程師把所有通信數(shù)據(jù)打印出來(lái),逐個(gè)字節(jié)排查,最終發(fā)現(xiàn)有一處字節(jié)的順序不一致。糾正后,華為方舟跑通了第一個(gè)安卓后臺(tái)服務(wù)DiskStatus,這標(biāo)志著對(duì)安卓的換心手術(shù)進(jìn)入了實(shí)操階段。 2018年春節(jié)前一周,方舟編譯器跑通安卓系統(tǒng)所有后臺(tái)服務(wù),并成功移植到手機(jī)。當(dāng)晚,所有人聚集在實(shí)驗(yàn)室的機(jī)房中,等待首個(gè)開(kāi)機(jī)畫面加載成功的神圣時(shí)刻。秒針滴答,如同過(guò)了一個(gè)世紀(jì)那么久,屏幕終于點(diǎn)亮。 歡呼,擁抱,一蹦三尺高,項(xiàng)目組成員們到底沒(méi)忍住,留下了激動(dòng)的淚水。 接下來(lái),項(xiàng)目組在除夕前夜啟動(dòng)了方舟編譯手機(jī)的Beta測(cè)試。大年初一清晨,總架構(gòu)師發(fā)來(lái)了第一條經(jīng)編譯器編譯的運(yùn)行程序發(fā)出來(lái)的拜年消息:

春節(jié)快樂(lè),方舟大吉!

當(dāng)P30發(fā)布會(huì)上“方舟”甫一出現(xiàn),就在中國(guó)軟件行業(yè)“炸”了鍋。無(wú)數(shù)軟件從業(yè)者從一開(kāi)始的質(zhì)疑,到弄清方舟真相后的驚嘆……這些都是對(duì)華為軟件工程師們十年如一日、一點(diǎn)一滴“啃硬骨頭”的致敬! 實(shí)際上,方舟已經(jīng)不是傳統(tǒng)意義上從高級(jí)語(yǔ)言到機(jī)器碼的“萬(wàn)能翻譯”,更是一個(gè)編譯運(yùn)行系統(tǒng)。一方面,方舟編譯器首次在Java領(lǐng)域?qū)⑻摂M機(jī)干掉了,也是軟件史上首次將Java/C/C++等混合代碼一次編譯成機(jī)器碼直接在手機(jī)上運(yùn)行,徹底告別Java的JNI額外開(kāi)銷,也徹底告別了虛擬機(jī)GC內(nèi)存回收帶來(lái)的應(yīng)用進(jìn)程掉線,使操作流暢度大幅提升。如果說(shuō)目前最新的安卓系統(tǒng)是和諧號(hào)動(dòng)車,那么經(jīng)方舟編譯的安卓系統(tǒng)便是高鐵,是“復(fù)興號(hào)”。 華為手機(jī)直接通過(guò)方舟編譯器替換了Android system-server的所有后臺(tái)服務(wù),這一項(xiàng)就已經(jīng)足夠讓華為EMUI比其他安卓系統(tǒng)更快一步。根據(jù)華為官方測(cè)試,方舟編譯器提升手機(jī)系統(tǒng)操作流暢度高達(dá)24%,系統(tǒng)響應(yīng)性能提升44%。入手P30系列的用戶,應(yīng)該已經(jīng)體驗(yàn)到了。

另一方面,方舟編譯器用空間換性能,直接將編譯器的代碼優(yōu)化搬到了開(kāi)發(fā)者環(huán)境,不再被手機(jī)端的硬件資源所限制,為代碼優(yōu)化提供了無(wú)限可能。 此外,經(jīng)測(cè)試,新浪微博極速版APP經(jīng)方舟編譯后,操作流暢度提升高達(dá)60%。 解決安卓的四大命門,出于安卓,勝于安卓,超越iOS,并且全面兼容安卓,這就是華為方舟編譯器的使命!安卓卡頓再見(jiàn)!方舟的一個(gè)使命,就是解決安卓虛擬機(jī)GC內(nèi)存回收帶來(lái)的“Stop World”。 目前安卓手機(jī)內(nèi)存資源不夠用的時(shí)候,GC直接叫停所有應(yīng)用,所以偶爾會(huì)遭遇莫名卡頓。 方舟編譯器采用了引用計(jì)數(shù)法(RC,Reference Counting)來(lái)進(jìn)行內(nèi)存的實(shí)時(shí)回收,并且配合使用了專門的消除環(huán)算法(消除對(duì)象互相引用帶來(lái)的無(wú)法回收問(wèn)題),來(lái)避免GC集中式回收帶來(lái)的系統(tǒng)卡頓。相比GC,方舟的內(nèi)存回收是實(shí)時(shí)的而非集中式的,且不需要暫停應(yīng)用進(jìn)程,這樣便大大消除了卡頓。

如果把內(nèi)存回收比作成打掃房間,那么GC的策略是專門有一個(gè)衛(wèi)生員,看房間里垃圾太多了,就把所有人請(qǐng)出去,打掃完了再讓大家回來(lái)。而方舟的RC則是每個(gè)人收拾自己的垃圾,用完就清理,保持清潔的同時(shí)不影響人的正?;顒?dòng)。 軟件有一個(gè)大家很熟悉的死循環(huán),就是電腦被一個(gè)無(wú)限循環(huán)的運(yùn)行程序把計(jì)算機(jī)資源占光。

這種“死循環(huán)”在軟件中叫“環(huán)引用”。為了從機(jī)制避免手機(jī)內(nèi)存被環(huán)引用“吃掉”,方舟編譯器引入annotation的“告警”標(biāo)示,對(duì)基礎(chǔ)類的環(huán)進(jìn)行標(biāo)注。當(dāng)然,Java程序員也可以對(duì)業(yè)務(wù)代碼中的環(huán)進(jìn)行標(biāo)注。經(jīng)過(guò)豐富的實(shí)踐驗(yàn)證,方舟這種機(jī)制可減少大部分程序中環(huán)的出現(xiàn)。 另外一方面,方舟編譯器在運(yùn)行狀態(tài)下引入了高效的環(huán)回收機(jī)制,允許有選擇的智能回收某個(gè)APP的內(nèi)存占用,這對(duì)傳統(tǒng)的環(huán)回收算法是一個(gè)非常棒的改進(jìn)。Stop World,安卓卡頓,再見(jiàn)!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 華為
    +關(guān)注

    關(guān)注

    215

    文章

    34128

    瀏覽量

    249481
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48896
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    461

    瀏覽量

    16237
  • 方舟編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    171

原文標(biāo)題:鴻蒙OS終于現(xiàn)身!華為方舟編譯器開(kāi)源,代碼沒(méi)放GitHub

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ida反編譯出來(lái)代碼能直接用嗎

    IDA反編譯出來(lái)的代碼通常 不能直接使用 ,這主要基于以下幾個(gè)方面的原因: 一、代碼的不完整性 IDA反編譯生成的代碼可能缺少原始源
    的頭像 發(fā)表于 09-02 10:55 ?219次閱讀

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編譯器的功能,如將高級(jí)語(yǔ)言編寫的源代碼
    的頭像 發(fā)表于 07-17 18:28 ?1211次閱讀

    人工智能編譯器與傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器(AI編譯器)與傳統(tǒng)編譯器在多個(gè)方面存在顯著的差異。這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、功能特性、優(yōu)化策略、適用范圍以及技術(shù)復(fù)雜性等方面。以下是對(duì)兩者區(qū)別的詳細(xì)探討,旨在全面解析其內(nèi)在差異。
    的頭像 發(fā)表于 07-17 18:19 ?1265次閱讀

    Meta發(fā)布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺(tái)上正式宣布推出了一款革命性的LLM編譯器,這一模型家族基于Meta Code Llama構(gòu)建,并融合了先進(jìn)的代碼優(yōu)化和編譯器功能。LLM編譯器的推出,標(biāo)
    的頭像 發(fā)表于 06-29 17:54 ?1310次閱讀

    SEGGER編譯器優(yōu)化和安全技術(shù)介紹 支持最新C和C++語(yǔ)言

    代碼生成,SEGGER編譯器生成非常小的代碼,非常適合內(nèi)存受限的環(huán)境,而不會(huì)犧牲執(zhí)行速度。 2)?速度優(yōu)化:在最高優(yōu)化級(jí)別,SEGGER編譯器生成盡可能快的
    的頭像 發(fā)表于 06-04 15:31 ?1169次閱讀
    SEGGER<b class='flag-5'>編譯器</b>優(yōu)化和安全技術(shù)介紹 支持最新C和C++語(yǔ)言

    KEIL怎么禁止某個(gè)函數(shù)/某段代碼編譯器優(yōu)化?

    沒(méi)有大佬知道,KEIL怎么禁止某個(gè)函數(shù)/某段代碼編譯器優(yōu)化?
    發(fā)表于 04-10 08:17

    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉編譯器

    QT安裝交叉編譯器
    的頭像 發(fā)表于 02-18 10:02 ?688次閱讀
    QT開(kāi)發(fā)學(xué)習(xí)筆記1(安裝交叉<b class='flag-5'>編譯器</b>)

    求助,如何將C++代碼從GNU移植到Tasking編譯器

    需要解決的障礙。 我懇請(qǐng)你幫助我們解決這個(gè)問(wèn)題。 問(wèn)題 :當(dāng)前代碼是使用 GNU 編譯器編譯的,代碼按定義運(yùn)行。 但是,我們希望讓它在 Aurix TC399 開(kāi)發(fā)套件上運(yùn)行。 在
    發(fā)表于 01-31 07:29

    Triton編譯器的原理和性能

    Triton是一種用于編寫高效自定義深度學(xué)習(xí)原語(yǔ)的語(yǔ)言和編譯器。Triton的目的是提供一個(gè)開(kāi)源環(huán)境,以比CUDA更高的生產(chǎn)力編寫快速代碼,但也比其他現(xiàn)有DSL具有更大的靈活性。Triton已被采用
    的頭像 發(fā)表于 12-16 11:22 ?2219次閱讀
    Triton<b class='flag-5'>編譯器</b>的原理和性能

    TVM編譯器的整體架構(gòu)和基本方法

    有將近兩個(gè)月沒(méi)有學(xué)習(xí)一些新東西,更新一下博客了。一直在忙公司的一個(gè)項(xiàng)目,是做一款支持LSTM和RNN的通用架構(gòu)加速IP。自己恰好負(fù)責(zé)指令編譯工作,雖然開(kāi)始的指令比較粗糙,沒(méi)有一套完整的編譯器
    的頭像 發(fā)表于 11-30 09:36 ?1870次閱讀
    TVM<b class='flag-5'>編譯器</b>的整體架構(gòu)和基本方法

    編譯器的優(yōu)化選項(xiàng)

    一個(gè)程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個(gè)重要的考量。要編寫高性能的程序,第一,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu);第二,應(yīng)該編寫編譯器能夠有效優(yōu)化以轉(zhuǎn)換成高效可執(zhí)行代碼的源代碼,要做到
    的頭像 發(fā)表于 11-24 15:37 ?753次閱讀
    <b class='flag-5'>編譯器</b>的優(yōu)化選項(xiàng)

    嵌入式j(luò)avascript編譯器的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《嵌入式j(luò)avascript編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-30 11:29 ?0次下載
    嵌入式j(luò)avascript<b class='flag-5'>編譯器</b>的設(shè)計(jì)與實(shí)現(xiàn)

    新版編譯器的設(shè)計(jì)思路和優(yōu)化方法

    小程序編譯器在小程序開(kāi)發(fā)、預(yù)覽、發(fā)布各個(gè)階段都需要使用,因此編譯器性能會(huì)直接影響到開(kāi)發(fā)者開(kāi)發(fā)效率,也會(huì)影響到開(kāi)發(fā)者工具的使用體驗(yàn)。 由于舊版的編譯器(基于 webpack4)在構(gòu)建大型項(xiàng)目時(shí)會(huì)很慢,內(nèi)存占用也高,一直被開(kāi)發(fā)者吐槽
    發(fā)表于 10-13 11:21 ?256次閱讀
    新版<b class='flag-5'>編譯器</b>的設(shè)計(jì)思路和優(yōu)化方法

    嵌入式開(kāi)發(fā)中的C語(yǔ)言編譯器設(shè)置

    編譯器的語(yǔ)義檢查很弱小,甚至還會(huì)“掩蓋”錯(cuò)誤?,F(xiàn)代的編譯器設(shè)計(jì)是件浩瀚的工程,為了讓編譯器設(shè)計(jì)簡(jiǎn)單一些,目前幾乎所有編譯器的語(yǔ)義檢查都比較弱小。為了獲得更快的執(zhí)行效率,C語(yǔ)言被設(shè)計(jì)的足
    發(fā)表于 10-11 12:43 ?574次閱讀

    OpenHarmony 的js引擎用的是方舟編譯器

    OpenHarmony 的js引擎用的是方舟編譯器嗎?方舟編譯器不是用來(lái)編譯嗎?
    發(fā)表于 10-09 09:32