新人下载app,立即提现现金 您的好友 送你现金 去提现

华为方舟编译器正式支持C语言:完全开源

3C小小值 10-14 22:36 关注

本文经快科技授权发布,原标题:华为方舟编译器正式支持C语言:完全开源,文章内容仅代表作者观点,与本站立场无关,未经允许请勿转载。

去年8月,华为方舟编译器(OpenArkCompiler)正式开源,迈出了跨越性的一步。一年多来,方舟编程体系陆续实现了编译器、引擎、调试器的开源,其中编译器的重点功能主要集中在Java应用程序静态编译上。

华为方舟编译器正式支持C语言:完全开源

华为强调,方舟项目的目标是构建一个基于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编译时的运用,以及众多依赖于编译分析的软件分析和优化工具。

华为方舟编译器正式支持C语言:完全开源

未经授权,不得转载

展开阅读全文

查看更多好文内容,新用户限时领现金
全部评论 (36)
man5
13
10-15 09:12

不管实用不,希望粗米、OV不要隔岸观火,多做点技术开发。

哒哒
23
10-15 09:47

开源还分ppt开源,helloworld开源,完全开源……?

买个乡音货
5
10-15 08:02

其实我就是进来看评论的[邪恶]

renjacklyo
4
10-15 11:34
买个乡音货: 其实我就是进来看评论的[邪恶] 1

专业技术问题估计这里能喷的人不多,否则早就骂的很热闹了~~

唐小呆
4
10-15 08:49

虽然安卓历史遗留问题已经解决的差不多,执行效率越来越高了,但是我还是希望鸿蒙能用上自主内核,而不是一套精美的安卓皮肤。希望方舟编译器也能早日支持分布式微内核操作系统。

smbuylee
9
10-15 09:11

没人评论?那我开始了,华为NO.1,老牛*了!

暖手小宝
2
10-15 13:18
买个乡音货: 其实我就是进来看评论的[邪恶] 1

评论 太少了,没喷起来,索然无味。

恋姬无双44
2
10-15 12:43
恋姬无双44: 华为牛*!!让我花钱?再见。花钱支持是绝对不会花钱的。[邪恶] 1
wuyoudaidai: [邪恶]汗,说得轻巧,手机安卓现在就4家,华为小米欧柏维沃,考虑市场份额,你支持的概率还是不小的,再加上现在的笔电市场,盒子,电视机,这些华为的份额都不小,现在嘴上说着不会花钱,只怕到时候第一个喊真香 2

应该不会吧。除非免费的,类似电信的光猫。家里现在的电视还是N年前的等离子,小卧室是三只鸟的40寸4k显示器,都配着电信送的机顶盒。。现在电脑还是N年前的傻大粗蓝天准系统,想买4800h的笔记本,无奈要么没货要么加价,在做等等党。家里手机还是oppo加三星加努比亚。话说努比亚是牛*,国产之光。倒是家里的路由器从原来的r7000换成了红米ac2100。。。[大囧]

gzb_ht
2
10-15 09:14
TeaEgg: 编译器不是用C或者C#写的???[邪恶] 1

C#是不可能的用来写这个编译器的,效率,内存控制啥的做不好啊,剩下的我编不下去了

恋姬无双44
4
10-15 10:33

华为牛*!!让我花钱?再见。花钱支持是绝对不会花钱的。[邪恶]

打开App,查看更多好文和评论
值得买爆款低价
双11爆款商品抄底,APP内抢购!
值得买爆款低价

市场价
值得买双11价
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
39
27
36
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索