写点什么

Rust 1.6 为 OS 和嵌入式开发带来稳定支持

2016 年 1 月 27 日

与他们的发布模型一致,Rust 开发团队已于2016 年1 月6 日宣布了第一个Rust 版本。Rust 1.6 的最大特点是实现了 libcore的稳定,其目标是让使用稳定的 Rust 进行 OS 和嵌入式开发成为可能。

libcore提供了一个底层的、平台无关的基础,Rust 标准库libstd就是基于它构建像内存管理、I/O 和并发等高级功能。因此,libcore是最底层,OS 和嵌入式软件开发人员常常更喜欢以它为基础构建应用程序。这样说来,libcore的稳定为各种底层软件提供了稳固的基础。

Rust 核心团队成员 Steve Klabnik 告诉 InfoQ,其重要性不可低估:

为了可以基于稳定的 Rust 进行 OS/ 嵌入式开发,这是重要的一步。因此,这很重要,但那仍然只是第一步。我确实认为,表明 Rust 是最底层软件开发的一个可行选项,对于 Rust 未来的发展而言很重要。

然而,需要特别注意,libcore目前仅支持库的开发,而尚不完全支持应用程序的开发。Klabnik 向 InfoQ 解释说,libcore之所以不完全支持应用程序是因为还有一些它所需要的“lang items”未定义。在 Rust 中,“lang items”可以理解为链接器符号,可以用作钩入语言本身的“钩子”。这会使比如说在库中实现部分 Rust 功能成为可能,而不是在语言本身。按照 Klabnik 的说法,对于想要构建一个库,但不使用libstdno_std)的开发人员来说,这问题不大。实际上,他表示:

我们可能不会将这两个 [lang items] 加入libcore本身。它们是专为用户以适合自己的方式进行实现而设计的。如果你试图构建一个用到了no_std的可执行程序,那么你必须自己定义这两个 lang items。

此外,Klabnik 还提供了一个源文件的链接,他在其中展示了如何定义那些缺失的符号:

复制代码
#[lang = "eh_personality"]
extern "C" fn eh_personality() {
}
#[lang = "panic_fmt"]
fn panic_fmt() -> ! {
loop {}
}
#[lang = "begin_unwind"]
pub extern "C" fn begin_unwind() {
}

除实现了libcore的稳定外,Rust 1.6 还对库函数和语言特性进行了许多小的优化,最显著的是drain函数族(用于移除集合中的元素,同时保留它们的后备内存)和新的From类型转换。要了解完整的变更列表,可以查看发布说明

查看英文原文: Rust 1.6 Brings Stable Support for OS and Embedded Development

2016 年 1 月 27 日 18:004149
用户头像

发布了 1008 篇内容, 共 319.1 次阅读, 收获喜欢 289 次。

关注

评论

发布
暂无评论
发现更多内容

大型互联网应用的发展和未来

拈香(曾德政)

互联网 极客大学架构师训练营 互联网架构 互联网架构的演进

架构师第四周

Tulane

架构师训练营 -Week 04

华乐彬

学习 极客大学架构师训练营

架构师训练营第 4 周作业

Season

极客大学架构师训练营

架构模式和重构

GalaxyCreater

架构

架构师训练营Week04homework

Nick

极客大学架构师训练营

架构师训练营-week4-学习总结

晓-Michelle

极客大学架构师训练营

第四周课后作业

iHai

极客大学架构师训练营

week4 命题作业

小叶

极客大学架构师训练营

大型互联网应用系统所使用的技术方案

olderwei

极客大学架构师训练营

一周风云之互联网构架演进

Dawn

架构师训练营第四周

跨域刀

极客大学架构师训练营

深入解析典型的大型互联网应用系统

拈香(曾德政)

互联网 架构师 极客大学架构师训练营 互联网架构 互联网应用技术方案

大规模复杂系统如何架构(二)?

阿飞

架构 架构师

极客大学架构师训练营 系统架构 淘宝架构 第四次作业

John(易筋)

极客时间 系统架构 极客大学 极客大学架构师训练营 淘宝架构

week4作业

强哥

极客大学架构师训练营

系统架构

olderwei

极客大学架构师训练营

架构师训练营(第四周)

孙志超

大型互联网系统使用的技术方案

stars

互联网系统架构的挑战和变迁

破晓_dawn

04周作业——互联网系统架构

dao

极客大学架构师训练营 作业

架构师训练营(第 4 周作业)

李德政

极客大学架构师训练营

架构师训练营--第四周作业

_MISSYOURLOVE

极客大学架构师训练营 第四周作业

架构师训练营第四周总结

跨域刀

极客大学架构师训练营

系统架构知识是架构师的常识而不是能力(第 4 周学习总结)

李德政

极客大学架构师训练营

思考

从维基百科架构看互联网架构

破晓_dawn

架构师课作业 - 第四周

Tulane

互联网架构演进的学习思考

架构5班杨娟Jessie

极客大学架构师训练营

架构师训练营第四周作业和小记

tuuezzy

架构师 极客大学架构师训练营

架构师训练营week04 summary

Nick

极客大学架构师训练营

Rust 1.6为OS和嵌入式开发带来稳定支持-InfoQ