c语言华为,华为方舟正式牵手C语言!完全开源

566820627088346d3e9180aa6bd9c3d3.png

近一年多来,方舟编程系统相继实现了编译器、引擎和调试器的开源,编译器的关键功能主要集中在Java应用程序的静态编译上。

566820627088346d3e9180aa6bd9c3d3.png

华为强调,Ark项目的目标是建立一个基于MapleIR的跨语言编程环境,以实现跨语言的全局分析和优化。

如在现有的java编程环境下,开发人员经常需要同时编写java和c语言程序,并通过JNI相互调用,而且这两种语言目前无法直接互操作。

方舟编程系统的最终愿景之一是通过一致的ir来表达不同的语言,并在全球范围内对它们进行跨语言的优化。

将来,方舟引擎将不仅从java语言中提取IR代码,而且还将支持用C和C++语言编译ir代码。

这种开源内容主要局限于O0功能的范围,对于c O2或未来进一步开源的更多优化。

目前,方舟编译器已经支持c语言的大部分通用特性,目前不支持的特性有复杂类型、Packedstruct、长双、allocaout of scope free。

当前支持aarch64后端,并支持绝大部分gcc_torture用例,比如配合一款第三方合作的C前端(开源时间待定),可以正确运行spec2017的所有C语言整型用例。

下一步,方舟社区计划在Maple编译器上做更多的拓宽和深耕工作。

一方面它将努力支持新的语言,以进一步验证枫树基平台的语言独立性;另一方面,它将增加对新后端(如RISC-v)的支持。

在深度方面,社区将开源O2分析和优化阶段,性能对齐LIVM/GCC,同时采用统一的枫树表示,布局跨语言全局优化。

自正式开放源码以来,方舟社区开源代码已从50k增长到170 k,累计6.9kstar,并孵化出五个相关的子项目。

作为方舟编程系统的重要组成部分,方舟编译器目前只是静态编译。随着ARK引擎的完成,我们可以看到ARK编译器在各种AOT或JIT编译器中的使用,以及许多依赖编译和分析的软件分析和优化工具。

免责声明:凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

//news.zol.com.cn/754/7541878.html

news.zol.com.cn

true

中关村在线

//news.zol.com.cn/754/7541878.html

report

1484

近一年多来,方舟编程系统相继实现了编译器、引擎和调试器的开源,编译器的关键功能主要集中在Java应用程序的静态编译上。华为强调,Ark项目的目标是建立一个基于MapleIR的跨语言编程环境,以实现跨语言的全局分析和优化。如在现有的java编程环境下,开发人员经常需要同...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值