完全开源!华为方舟编译器正式支持C语言了,并开放鸿蒙教程!
点击“开发者技术前线”,选择“星标?”
让一部分开发者看到未来
来自:http://www.kkj.cn/
华为强调,方舟项目的目标是构建一个基于MapleIR的跨语言编程环境,实现跨语言的全局分析及优化。
比如在现有Java编程环境下面,开发者经常需要同时编写Java、C语言程序,通过JNI相互调用,而这两种语言之间目前是不直接互通的。
方舟编程体系的终极愿景之一,就是要通过一致的IR来表述不同语言,并跨越语言进行全局优化。
现在,方舟编译器加入了对C语言程序的支持,当然继续开源,也是实现Java和C混合编译的基础。
未来,方舟引擎不仅要对来自Java语言的IR代码进行JIT编译,也会支持对C、C++语言的IR代码进行JIT编译。
代码链接地址:
1、https://gitee.com/openarkcompiler-incubator/mapleall
2、https://gitee.com/openarkcompiler-incubator/maple_engine
本次开源内容主要限于O0的能力范围,针对C的O2以上的优化留待未来进一步开源。
目前,方舟编译器已经支持C语言的绝大部分常用特性,暂不支持的特性有complex类型、packedstruct、long double、alloca out-of-scope free。
当前支持aarch64后端,并支持绝大部分gcc_torture用例,比如配合一款第三方合作的C前端(开源时间待定),可以正确运行spec2017的所有C语言整型用例。
下一步,方舟社区计划在Maple编译器上做更多的拓宽和深耕工作。
广度上,一方面会尝试支持新的语言,进一步验证Maple基础平台的语言无关性,另一方面会增加对新后端如RISC-V的支持。
深度上,社区会尽快开源O2分析与优化phase,性能对标LLVM/GCC,同时利用统一的Maple表示,布局跨语言全局优化。
正式开源以来,方舟社区开源代码从50K增长到170K,累计6.9K Star,并孵化5个相关子项目。
方舟编译器作为方舟编程体系的重要一环,目前展现的还只是是静态编译,未来随着方舟引擎的完备,可以看到方舟编译器在各种AOT或者JIT编译时的运用,以及众多依赖于编译分析的软件分析和优化工具。
手把手教你快速安装Deveco studio 9页
上手做一个华为鸿蒙手表应用 21页
华为鸿蒙操作系统入门 14页
如何获取?
识别并关注下方公众号;
在下面公众号后台回复关键字「HM」即可得到下载地址。
?长按上方二维码 2 秒
回复「HM」即可获取资料
如何获取?
识别并关注下方公众号;
在下面公众号后台回复关键字「5G」即可得到下载地址。
?长按上方二维码 2 秒
回复「5G」即可获取资料
希望大家喜欢。