0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为方舟编译器正式支持C语言,将继续完全开源

如意 来源:快科技 作者:上方文Q 2020-10-14 17:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2019年8月底,华为方舟编译器(OpenArkCompiler)正式开源,迈出了跨越性的一步。

一年多来,方舟编程体系陆续实现了编译器、引擎、调试器的开源,其中编译器的重点功能主要集中在Java应用程序静态编译上。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    218

    文章

    36190

    浏览量

    262678
  • C语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146143
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51909
  • 方舟编译器
    +关注

    关注

    0

    文章

    63

    浏览量

    821
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    模力方舟现已正式开源官方Skills仓库Moark Skills

    模力方舟现已正式开源官方 Skills 仓库 Moark Skills,首批上线图像生成、OCR、文档内容提取和文本合规审查四个技能模块。开发者和用户只需将技能文件导入 OpenClaw,Agent 即可通过自然语言直接调用这些
    的头像 发表于 03-03 16:47 1456次阅读
    模力<b class='flag-5'>方舟</b>现已正式<b class='flag-5'>开源</b>官方Skills仓库Moark Skills

    C编译器错误与解决方法

    C语言keil编译器提示错误的解决方法,可以帮你解决程序编译中的烦恼!! C编译器错误与解决方
    发表于 01-22 08:03

    C语言C++之间的区别是什么

    C++的标准库那样集成度高和功能齐全。 6、编译器语言特性: C++编译器通常比C
    发表于 12-11 06:23

    C语言特性

    节点时,开发者可以使用 C 语言直接操作传感的寄存,配置传感的工作模式、采样频率等参数,获取传感
    发表于 11-24 07:01

    开源鸿蒙技术大会2025丨编译器与编程语言分论坛:语言驱动系统创新,编译赋能生态繁荣

    在万物智联的时代背景下,操作系统底层能力的构建离不开编程语言编译器的关键支撑。作为开源鸿蒙生态的核心技术,语言设计与编译器、虚拟机实现的进
    的头像 发表于 11-20 17:24 1158次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨<b class='flag-5'>编译器</b>与编程<b class='flag-5'>语言</b>分论坛:<b class='flag-5'>语言</b>驱动系统创新,<b class='flag-5'>编译</b>赋能生态繁荣

    C语言和单片机C语言有什么差异

    成汇编语言机器才能读懂,所以每个平台的编译器编译成对应平台汇编的程序,每个平台的汇编不一样,当然编译器也不一样。 DOS上的TC2 TC3 WINDOWS上的VC 8051的
    发表于 11-14 07:55

    飞凌嵌入式ElfBoard-Vim编辑之GCC编译器的安装

    GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器,最初是作为GNU操作系统的编译器编写的。GCC是一个编译器套件,包含很多软件包,
    发表于 10-15 08:44

    rtsmart开启C++特性支持后,工具链编译内核不通过怎么解决?

    各位大佬好,本人在rtsmart项目中需要使用C++11特性,在menuconfig那里配置了支持C++特性后,使用7.3.0版本的arm-linux-musleabi编译器
    发表于 09-29 07:49

    进迭时空同构融合RISC-V AI CPU的Triton算子编译器实践

    Triton是由OpenAI开发的一个开源编程语言编译器,旨在简化高性能GPU内核的编写。它提供了类似Python的语法,并通过高级抽象降低了GPU编程的复杂性,同时保持了高性能。目前
    的头像 发表于 07-15 09:04 2190次阅读
    进迭时空同构融合RISC-V AI CPU的Triton算子<b class='flag-5'>编译器</b>实践

    边缘设备AI部署:编译器如何实现轻量化与高性能?

    电子发烧友网综合报道 AI编译器是专门为人工智能(AI)和机器学习(ML)模型设计的编译器,其核心目标是高级的AI模型描述(如计算图、神经网络结构)转换为特定硬件平台(如CPU、GPU、FPGA
    的头像 发表于 07-06 05:49 6930次阅读

    ESP32-C3开发板全面支持小智AI!烧录实战指南来了!

    本文详细解析基于乐鑫ESP32-C3芯片的ZXAIEC43开发板烧录“小智”AI语音系统的全流程。该方案代码完全开源支持深度定制开发,适用于智能玩具、潮玩手办及智能家居控制等多元场
    的头像 发表于 06-13 18:01 6617次阅读
    ESP32-<b class='flag-5'>C</b>3开发板全面<b class='flag-5'>支持</b>小智AI!烧录实战指南来了!

    兆松科技ZCC编译器全面支持芯来科技NA系列处理

    近日,兆松科技(武汉)有限公司(以下简称“兆松科技”)宣布正式发布高性能RISC-V编译器ZCC 4.0.0版本。
    的头像 发表于 06-11 09:56 1998次阅读

    RISC-V架构下的编译器自动向量化

    进迭时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU核的性能而言,编译器是不可或缺的一环,而在AI时代,毫无疑问向量算力发挥越来越重要的作用。进迭时空非常重视RISC-V
    的头像 发表于 06-06 16:59 1439次阅读
    RISC-V架构下的<b class='flag-5'>编译器</b>自动向量化

    RVCT编译器是否比GNU的编译器的代码执行速度更快?

    使用FX3S遇到了RVCT编译器的问题。 1、在SDK的release note中有支持RVCT的描述, 但是在EZ USB Suite的设置中没有找到RVCT的选项, 请问支持的具体版本
    发表于 05-08 07:49

    HighTec编译器全面支持芯驰科技车规MCU芯片E3650

    近日,HighTec与芯驰科技共同宣布HighTec编译器套件全面支持芯驰新一代旗舰智控MCU-E3650芯片。此次合作,进一步丰富了芯驰车芯产品的工具链生态,双方携手为客户提供高
    的头像 发表于 04-28 15:20 1977次阅读