Mustang完全用 Rust 构建程序

联合创作 · 2023-10-01 13:36

Mustang 是一个用于构建完全用 Rust 构建的程序的系统,这意味着它们不依赖于 libc 或 crt1.o 的任何部分,并且不链接任何 C 代码。

作者表示,Mustang 最初只是为了好玩而创建,练习一些为其他目的而构建的组件(例如 rsik。但在未来,Mustang 也可能是为了试验新的平台 ABI 和新的进程参数传递形式。

在可预见的未来,Mustang 并不是要让任何东西更安全。主要的 libc 实现都经过了非常好的测试,而且非常成熟。Mustang 则是实验性的,有很多不安全因素。这也不是为了建立一个完整的 libc。它目前包括了一些与 libc 兼容的接口,足以让它在 std 下面滑动,然而,即使这样也不一定是必要的。

Mustang 目前运行在 Linux 的 Rust Nightly 上,支持 x86-64、arch64 和 x86。 

Mustang 的部分灵感来自 steed 中的类似功能,但有几处不同。 cargo 的 build-std 现在可用了,这使它更容易与自定义目标一起工作。而 Mustang 的出发点是替换 libc 接口并按原样使用 std,而不是重新实现 std。这很可能会发生变化,但无论怎么做,Mustang 的一个高级目标是避免重新实现 std。 

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报