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。 

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报