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

    文章

    2953

    浏览量

    68673
  • 编译
    +关注

    关注

    0

    文章

    680

    浏览量

    34370
  • Rust
    +关注

    关注

    1

    文章

    237

    浏览量

    7215

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread 遇上 Rust:安全内核 RusT-Thread 的诞生

    大家好,我们是中国科学技术大学操作系统原理与设计(H)课oooooS小组。这个项目是我们的课程大作业:参考RT-Thread架构,使用Rust搭建一个原生的嵌入式操作系统内核。初识Rust是因为xk
    的头像 发表于 08-02 11:03 2462次阅读
    RT-Thread 遇上 <b class='flag-5'>Rust</b>:安全内核 <b class='flag-5'>RusT</b>-Thread 的诞生

    CW32L010 MCU在VSCode+GCC+EIDE+JLink下的使用示例

    CW32L010 MCU 在VSCode+GCC+ EIDE + JLink 下的使用示例: 1、点击VSCode左边栏中的Extensions,在EXTENSIONS:MARKETPLACE搜索
    的头像 发表于 07-01 14:52 380次阅读
    CW32L010 MCU在VSCode+<b class='flag-5'>GCC</b>+EIDE+JLink下的使用示例

    请问OpenVINO™ 是否支持 Rust 绑定?

    无法确定OpenVINO™是否支持 Rust 绑定。
    发表于 06-25 07:45

    cubemx+clion+gcc无法使用msh怎么解决?

    通过STM32CUMX配置RTTHREAD NANO ,用keil编译并且移植shell之后,输入键盘上下键无反应,而用clion+gcc编译后(修改过启动文件),只能打印version信息,无法显示msh和输入,两者除了启动文件以外,其余的配置基本相同,请问为啥gcc
    发表于 06-13 08:17

    AG32 SDK:加入DSP例程及支持boot_mode模式和自定义 Linker脚本等(v1.7.5版本)

    加载的init.tcl的问题,同时更新yosys版本到0.52。 2、新增支持的boot_mode模式:flash_rodata 为充分利用内存的高带宽,传统的 flash 模式会在程序运行时常量
    发表于 05-20 14:14

    BSP36 gcc_11.3.0编译错误的原因?怎么解决?

    在 Yocto 项目中构建 BSP36 时遇到 gcc_11.3.0 编译错误。 详细日志如下: [i]/usr/src/debug/gcc/11.3.0-r0/build/gcc
    发表于 03-27 08:19

    基于SEGGER的Ozone调试器和J-Trace工具跟踪Ferrocene的Rust应用

    2025年3月,SEGGER和Ferrous Systems合作,确保使用Ferrous Systems的Ferrocene工具链编译的Rust应用程序可以通过SEGGER的J-Trace工具实时下载分析。
    的头像 发表于 03-14 11:27 689次阅读

    ubuntu24.04上安装gcc工具链出现报错怎么解决?

    虚拟机安装的ubuntu24.04.1,默认gcc版本13,从芯来官网下载了对应的gcc版本的工具链,到最后编译报错: riscv64-unknown-linux-gnu-gcc: fatal
    发表于 03-07 12:39

    vivo打造最具影响力Rust赛事,点亮基础软件事业的“蓝河时代”

    在蓝河操作系统创新赛,看见中国Rust生态的汇聚与发展
    的头像 发表于 02-27 15:08 1871次阅读
    vivo打造最具影响力<b class='flag-5'>Rust</b>赛事,点亮基础软件事业的“蓝河时代”

    深入探索GCC的attribute属性

    如果经常看Linux源码,一定会见过 attribute 属性,他在 Linux 里面出现的很多。 attribute 是 gcc 的扩展功能,它不属于标准C语言。 使用 attribute 可以
    的头像 发表于 02-13 10:05 494次阅读

    JavaScript与Rust和WebAssembly集成

    偶然一次机会,接触了Rust的代码。当时想给团队小伙伴做演示,发现自己并不能在移动端按照文档生成演示demo。我就想,要是Rust代码能转化成JavaScript就好了。结果一搜,还真有。
    的头像 发表于 01-24 15:43 557次阅读
    JavaScript与<b class='flag-5'>Rust</b>和WebAssembly集成

    全球计算联盟GCC成立,安谋科技牵头编写白皮书发布

    1月10日,由全球计算联盟(简称“GCC”)主办的“2025全球计算大会——全球计算联盟启航大会”在深圳举行。大会期间,同步举办了全球计算联盟(GCC)成立庆典,并在随后的年度系列成果发布仪式上
    发表于 01-13 14:55 179次阅读
    全球计算联盟<b class='flag-5'>GCC</b>成立,安谋科技牵头编写白皮书发布

    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 748次阅读
    如何用<b class='flag-5'>Rust</b>编写一个ChatGPT桌面应用(保姆级教程)

    嵌入式学习-常用编辑器之GCC编译器

    的编译器编写的。GCC是一个编译器套件,包含很多软件包,支持多种语言编译。GCC的官网是http://gcc.gnu.org1、GCC的安装
    发表于 08-27 10:17