引言
各位 Rustacean 们好!今天给大家带来一个激动人心的消息:GNU 编译器集合(GCC)正在开发一个全新的 Rust 编译器实现 —— gccrs!这将为 Rust 生态带来更多可能性,让我们一起来了解这个项目。
什么是 gccrs?
gccrs 是 GCC 项目中正在开发的 Rust 编译器。它的目标是提供与官方编译器 rustc 完全相同的行为,但基于 GCC 编译框架实现。
主要特点
支持更多平台
得益于 GCC 30 多年的发展,gccrs 可以支持 LLVM 未覆盖的平台 比如 SuperH 架构的 Dreamcast 游戏主机开发
更强大的分析能力
继承 GCC 现有的安全分析工具 特别适合分析不安全的 Rust 代码 对 Rust 与 C 代码交互的场景很有帮助
规范贡献
帮助完善 Rust 语言规范 提供独特的实现视角
使用须知
目前 gccrs 仍在开发中,使用时需要添加特殊标记:
# 命令行方式
-frust-incomplete-and-experimental-compiler-do-not-use
# 环境变量方式
GCCRS_INCOMPLETE_AND_EXPERIMENTAL_COMPILER_DO_NOT_USE=1
# Cargo 方式
GCCRS_EXTRA_ARGS="-frust-incomplete-and-experimental-compiler-do-not-use"
与 rustc 的关系
gccrs 项目有明确的几点承诺:
不会创造 GNU 特有的 Rust 变体 不会绕过 RFC 流程添加新特性 重用 rustc 的核心组件,如:
polonius(下一代借用检查器) rustc_parse_format(格式化字符串解析)
如何参与项目?
如果你对编译器开发感兴趣,可以通过以下方式参与:
GitHub 仓库:https://github.com/rust-gcc/gccrs Zulip 聊天平台 邮件列表:gcc-rust@gcc.gnu.org IRC 频道:#gccrust(oftc.net)
总结
gccrs 的出现将为 Rust 生态带来更多可能性:
扩展到更多硬件平台 提供更多安全分析工具 帮助完善语言规范 提供更多编译选择
对于 Rust 开发者来说,这是一个值得关注的项目。虽然目前还在开发中,但随着项目的成熟,相信会给 Rust 社区带来更多机遇。
参考文章
gccrs: An alternative compiler for Rust:https://blog.rust-lang.org/2024/11/07/gccrs-an-alternative-compiler-for-rust.html
书籍推荐
各位 Rust 爱好者,今天为大家介绍一本《Programming Rust: Fast, Safe Systems Development》(第二版) 是由 Jim Blandy、Jason Orendorff 和 Leonora Tindall 合著的 Rust 编程指南。本书深入探讨了 Rust 语言在系统编程中的应用,着重介绍如何利用 Rust 的独特特性来平衡性能和安全性。书中涵盖了 Rust 的基础数据类型、所有权和借用概念、特征和泛型、并发编程、闭包、迭代器以及异步编程等核心内容。这本更新版基于 Rust 2021 版本,为系统程序员提供了全面而实用的 Rust 编程指导。