安全的QQ软件下载站 本站非腾讯QQ官方网站

QQ下载|QQ资讯|QQ分类|下载排行|最近更新

软件
软件
文章
搜索
当前位置:首页应用软件编程开发 → 华为方舟编译器开源 v0.2 官方版
华为方舟编译器开源

鲁冰花电影

v0.2 官方版华为方舟编译器下载评分:
下载地址
  • 软件大小:8.8M
  • 软件语言:中文
  • 更新时间:2024-9-20 12:32
  • 软件类别:免费/编程开发
  • 软件性质:PC软件
  • 软件厂商:
  • 运行环境:WinAll
  • 软件等级:
  • 官方网址:https://www.openarkcompiler.cn/home
  • 软件介绍
  • 软件截图
  • 猜你喜欢
  • 同类推荐
  • 相关文章

华为方【fāng】舟编译器是一款支持多语言的编译工具,由华为公司【sī】开发【fā】,实现Java程序到aarch64汇编指令【lìng】的编译过程,华为方舟编译器的开发者可基于开【kāi】源代码+二进【jìn】制,编译构建出编译器工具链,尝试对Java程序进【jìn】行【háng】编译。

华为方舟编译器开源

鲁冰花电影

方舟编译器是为支持多种编程语言、多种芯片平台的【de】联合编译、运行而设计【jì】的统一编程平台,包含编译器、工具链、运行时等关键部件。 方舟编译器还在持续【xù】演进中【zhōng】,陆续将上述能力实现和开源。

本次方舟编译器开源的是编译器框架部分【fèn】源码,包括编译器中间表示(IR)和语言编【biān】译实现,同时搭配编译器其他二进【jìn】制组件,实现Java程序到aarch64汇编指令【lìng】的编译过程【chéng】。开发者可基于开源代码+二进制,编译构建出编【biān】译器工具链【liàn】,尝试对Java程【chéng】序进行编译。社区参与者可以通过框架源码学【xué】习方舟编译器的编译器中间表达(IR)及基本的中端编译框架,熟悉方舟编译器的架构思【sī】想,并参与【yǔ】诸如【rú】对编译器中端优化的【de】贡献。

华为始终以开放的姿态拥抱【bào】开源,充分参与源码共享,与开发者们共同成就开源【yuán】世界的科技进步。在全球主流基金会及开源社区中,华为拥【yōng】有十多个核心席【xí】位,作【zuò】为Linux基金会白金会员【yuán】,华为不断贡献自己的技术【shù】力量,对Linux kernel累积贡献6800+补【bǔ】丁。同时,华为【wéi】已与40多家头部应用厂商【shāng】合作,对各类流行应【yīng】用进行编译优化,并在未来不久上线。

此次公布方舟编译器框架源码后,华【huá】为【wéi】预计将于2020年及以后【hòu】实现方舟编译器工具链完整开【kāi】源。在官【guān】方开源社区【qū】中,开发者们可以参与并贡献自己的力量,与华为一起共同推进基础软件的发展。

华为坚持每年将10%以上【shàng】的销售收入投入研究与开【kāi】发,随着软件【jiàn】实力持续增强, 诞生了【le】“GPU Turbo”“Link Turbo”“EROFS”等硬核技术。未来,华为将【jiāng】与广大开发者【zhě】以及合作伙伴进【jìn】行更深入、广泛的合作,坚持开放、合作、共赢的策略,联接全行业的能力持续推进【jìn】产业创新与【yǔ】开放生态。

鲁冰花电影

多语言联合

将同一应用中【zhōng】的不同语言代码联【lián】合编译、联合优化,消除语言间的性【xìng】能“鸿【hóng】沟”,降低开发者的优化成本

轻量运行时

通过【guò】编译【yì】器的语言实现能力和优化能力增强,应【yīng】用运行时的开销更小

软硬件协同

编译器与芯片实现软硬件协同【tóng】优化,充分发挥硬【yìng】件【jiàn】能效,应用体验更佳

多平台支持

支持面【miàn】向多样化的终端设备平台进行编译和【hé】运行,根据设备特【tè】征提供便捷的开发与部署策略,提高开发效率

鲁冰花电影

一、开发阶段打包的APK就直接是可执行,并且跨语言平台

在方舟编译器里面,已经编【biān】译好的APK,会通过静态编译的方式先转换成机器【qì】码再安装,这其【qí】实是AOT,无需麻烦的虚拟机,提升运行速【sù】度和效率。并且作为开发者,还可以根据不【bú】同的程序特【tè】点,选择不同的编译优化方案,不像安卓官方的方【fāng】式【shì】使用统【tǒng】一的虚【xū】拟机方案。

二、方舟编译器边运行变清理,内存清爽

现在安卓手机的一大特色就是内存越来越【yuè】大,6GB都是老人机的配置【zhì】了。这除了程序大以外还【hái】有【yǒu】安卓【zhuó】的程序运【yùn】行产生垃【lā】圾多有关系。那么清理垃圾呢?则【zé】需要暂停程序,也就会顿一下,即所谓的“卡”。华为方舟编译器则是利用程序多线程运行的特点。打个比方,您现在正在【zài】用的“中关村在线”这个APP用了AB两个线程,在华为的【de】P30手机中【zhōng】,那【nà】么线程A运行的时候,B在清理垃圾,然后A线【xiàn】程清理垃圾的时候B线程【chéng】在运【yùn】行,程序运行不中断,垃圾处理不【bú】停,做到了【le】又连贯、又节约系统资源。

三、方舟编译器,应用级编译优化

代码优化是编译器最为核心的功能,也是【shì】评判一个编译器优【yōu】劣最重要的标准。

当前由于安卓应用使用了虚拟机机制,难以面向【xiàng】不同应【yīng】用对虚拟【nǐ】机进行针对性的灵【líng】活优化。

安卓ART的AoT和【hé】JIT动态编译【yì】因为是运行在手机上,受资源所限,因而只能【néng】使用简单的优化算法。

而方舟编译器【qì】由于【yú】是在应用开发阶段进行【háng】编译,所以【yǐ】可以允许不同应用灵活采用不同的编译优化方案,而且因为在开发环境编译不会受到【dào】手机性【xìng】能的限制,可以使用更多先【xiān】进的优化算法,从而使得每个应用的性能达到最佳。

鲁冰花电影

开发环境推荐

您需要安装【zhuāng】一个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编译【yì】器并完成配【pèi】置(用于编【biān】译方舟编译器代码)

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

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

放置到openarkcompiler/tools目【mù】录,打开openarkcompiler/build/config/BUILDCONFIG.gn文件,将GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三个变量配置为【wéi】Clang编译【yì】器所在路径,例如:

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}为【wéi】openarkcompiler源码根目【mù】录。

安装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和【hé】Ninja可执行程序放置到openarkcompiler/tools目录【lù】,打开openarkcompiler/Makefile文件,将GN和NINJA两个变量【liàng】配置为GN和Ninja可执行【háng】程序所在路径。例如:

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

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

鲁冰花电影

Q1:方舟编译器是一次性全部代码吗?

答:

首次【cì】开源范围是编译器 IR( Intermediate Representation)、RC(Reference Counting)和多语言设计思想等,用于与业界、学术【shù】界沟【gōu】通交流。接下来将陆续开源编译【yì】器【qì】前端、后端,支持其它语言(如 JavaScript)的编译等【děng】,当前部【bù】分Java语言特性和JVM虚拟机特【tè】性的支持未【wèi】包括在本次【cì】开源代码中,包括:annotation、lambda表达式、泛【fàn】型等。目前仍有很多地方不完善,会在社区陆续迭代,遇到问题请在社区提交 issue,欢迎在社区继续讨论设计和代码共建。。

Q2:通过哪些渠道可以获取方【fāng】舟编译器的框架【jià】源码?

答:

孵化期间,开发者可以通【tōng】过如下代码托管网址获得相关代码【mǎ】和文档,供参考学习、了解方【fāng】舟编译器的架【jià】构和代【dài】码。

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

开源中国码云托【tuō】管地址:https://gitee.com/harmonyos/OpenArkCompiler

Q3:方舟编译器开源路标是怎样的?

答:

方舟编【biān】译器从 2019 年 8 月开始开源,欢迎广大的应用开发者、手机厂商、软件从业人员一【yī】起共建【jiàn】开源社区和生态。 开源计划大【dà】体上这样安排:2019 年 8 月重点开源框架部分,接下来将陆续【xù】开源编译器【qì】前端、后端;支持 Java 程序编译、JavaScript 语言【yán】应用的编译等。

Q4:方舟编译器【qì】开源使用的是【shì】什么License?

答:

方舟编【biān】译器采用木兰 License。 木兰【lán】 License 由业界众多专【zhuān】家和公司集体共建,并非华为主导【dǎo】。木兰 License 具体的好处,详见专【zhuān】业点评:

开源中国: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: 如何确【què】认下载包来源可【kě】靠?md5校验码是多少?

答:

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

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

软件截图

  • 华为方舟编译器开源v0.2 官方版

下载地址

  • PC版

相关版本

同类推荐

相关文章

用户评论

请【qǐng】自觉遵守互联网相关政策法规,评论内容【róng】只代表网友观点,与本站立场无关【guān】!

热门评论

最新评论

已有0人参与,点击查看更多精彩评论

关于腾牛 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2005-2022 QQTN.com 【东阳绿色软件下载站】 版权所有 鄂ICP备2022005668号-1 | 鄂公网安备 42011102000260号

声明:本站非腾讯QQ官方网站 所有软件和文章来【lái】自互联网 如有【yǒu】异议 请与本站【zhàn】联系 本站为非赢利性网站 不接受任何赞助和广【guǎng】告