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

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

3天内不再提示

GCC将加入对Rust的支持

芯长征科技 来源:半导体行业观察 作者:半导体行业观察 2022-12-13 10:04 次阅读

据报道,GCC 的 Rust 前端项目 Gccrs 已被批准合并到 GCC 主干,这意味着下一个版本的 GCC 将能编译 Rust 源代码。

报道指出,GCC Rust 补丁基于上游 GNU Compiler Collection 代码库重新编写,并为新的前端设置了布局骨架,还为 i386 和 ARM 提供初始 target hook,然后开始布局前端代码。此外,GCC 编译器支持的目标 (targets) 数量要远远多于标准的 Rust 编译器。

通过将 GCC 作为后端集成到 rustc 中,可以更好地实现支持这些 target。除了 LLVM 之外,rustc master 还为 Cranelift(更快的调试编译)和 GCC(访问不支持 LLVM 的架构)提供了开发中的后端。

开发者 Arthur Cohen 表示 Gccrs 仍处于实验性阶段,在发布之前会进行大量更改。

GCC Rust 的代码仍然需要更仔细的审查。按照计划,它有可能作为 GCC 13 的一部分而亮相,GCC 13 将于 2023 年 4 月左右发布稳定版,其对 Rust 语言的支持有希望达到 beta 级别。

维基百科显示,Rust是由Mozilla主导开发的通用、编译型编程语言。设计准则为“安全、并发、实用”,支持函数式、并发式、过程式以及面向对象的编程风格。

Rust语言原本是Mozilla员工Graydon Hoare的私人计划,而Mozilla于2009年开始赞助这个计划 ,并且在2010年首次公开。也在同一年,其编译器原始码开始由原本的OCaml语言转移到用Rust语言,进行自举(英语:Bootstrapping (compilers))工作,称做“rustc”,并于2011年实际完成。这个可自我编译的编译器在架构上采用了LLVM做为它的后端。

GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC)则是GNU计划制作的一种最佳化编译器,支援各种程序语言、操作系统电脑系统结构。该编译器是以GPL及LGPL授权条款所发行的自由软件,也是GNU计划的关键部分,还是GNU工具链的主要组成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理察·马修·斯托曼开始发展,现在由自由软件基金会负责维护工作。截至2019年,GCC大约有1500万行代码,是现存最大的自由程序之一。它在自由软件的发展中发挥了重要作用,不仅是一个工具,还是一个典例。

审核编辑 :李倩

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

    关注

    96

    文章

    2945

    浏览量

    66734
  • 编译
    +关注

    关注

    0

    文章

    657

    浏览量

    32859
  • Rust
    +关注

    关注

    1

    文章

    228

    浏览量

    6601

原文标题:GCC将加入对Rust的支持

文章出处:【微信号:芯长征科技,微信公众号:芯长征科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MSP430 GCC用户指南

    电子发烧友网站提供《MSP430 GCC用户指南.pdf》资料免费下载
    发表于 12-05 14:51 0次下载
    MSP430 <b class='flag-5'>GCC</b>用户指南

    如何用Rust编写一个ChatGPT桌面应用(保姆级教程)

    用IDEA开发的java仔) 安装 Rust 语言工具链:首先,请确保你已安装了 Rust 编程语言工具链,包括 Rust 编译器 (rustc) 和包管理工具 (cargo)。可以通过访问
    的头像 发表于 09-25 11:19 345次阅读
    如何用<b class='flag-5'>Rust</b>编写一个ChatGPT桌面应用(保姆级教程)

    常用编辑器之GCC编译器

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

    未来嵌入式系统的黄金搭档 MCX N947遇上Rust

      Rust 介绍 Rust 是一门注重安全的语言,相比于 C/C++/ASM 有着更高级的抽象能力、编译器带来的安全特性与广泛友好的社区支持。 Linux 与 Windows 内核也都
    的头像 发表于 07-25 09:14 1350次阅读
    未来嵌入式系统的黄金搭档 MCX N947遇上<b class='flag-5'>Rust</b>

    esp32s3开发时,每次改动,rust编译的时间都很长为什么?

    esp32s3 开发时,每次改动,rust编译时间太长
    发表于 06-05 06:36

    Linux 6.10集成RISC-V更新,支持Rust编程语言

    本次补丁升级中,Linux内核进一步扩展了对应于RISC-V架构的Rust编程语言支持。在此之前,Rust已可应用在x86_64、龙芯LoongArch以及ARM64等多种架构之上。
    的头像 发表于 05-23 17:16 951次阅读

    Aurix development studio是否支持GCC调试器?

    当我尝试使用 Aurix development studio 调试 Aurix 示例时,我发现只有两个选项 TASKING C/C++ 调试器 winIDEA 调试器 我的问题是,GCC 调试器是否支持? 如果支持,如何使用?
    发表于 05-20 06:57

    在Aurix Tc375Lk上使用Rust编程语言可以吗?

    您好,如果我想在 Aurix Tc375Lk 上使用 Rust 编程语言,可以吗?如果是,链接 rust 编译器 ADS 和 freetoolchain 的步骤是什么?你有在 ADS 或 freetoolchian 中链接编译器的用户指南吗? 请详细说明谢谢
    发表于 05-17 13:42

    鸿蒙OpenHarmony开发板解析:【Rust模块配置规则和指导】

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和构建编译。 OpenHarm
    的头像 发表于 05-10 11:32 1291次阅读
    鸿蒙OpenHarmony开发板解析:【<b class='flag-5'>Rust</b>模块配置规则和指导】

    [鸿蒙]OpenHarmony4.0的Rust开发

    背景 Rust 是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust 官方也使用 Cargo 工具来专门为 Rust 代码创建工程和构建编译
    的头像 发表于 02-26 17:28 881次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>开发

    谷歌捐款100万美元给Rust基金会,以增强C++与Rust的交互性

    如今,谷歌多项核心业务仍以 C++为主要编程语言,虽然无法直接使用Rust替代现有的C++程序,但谷歌依然选择支持Rust基金会的“Interop Initiative”计划,帮助那些选用C++的机构更为顺畅地过渡至
    的头像 发表于 02-19 15:41 645次阅读

    鸿蒙OS之Rust开发

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。
    的头像 发表于 01-29 17:19 946次阅读

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着一款C语言开发的基础
    的头像 发表于 01-25 11:21 632次阅读

    从Rustup出发看Rust编译生态

    从Rustup出发看Rust编译生态 1. Rust和LLVM的关系是怎样的? 2. Rustup中targets是什么,为什么可以安装多个? 3. Rust在windows上为什么需要安装Visual studio?
    的头像 发表于 01-02 11:00 528次阅读

    基于Rust的嵌入式符合ACID的键值数据库

    surrealkv -- 基于 Rust 的 low level、版本化、嵌入式、符合 ACID 的键值数据库
    的头像 发表于 12-28 11:29 876次阅读