#abi #safe #wrapped #linux #null-terminated #mistakes #libc

no-std syslib

在Rust中使用Linux ABI,无需C语言。

1个不稳定版本

0.0.0 2022年11月5日

#9 in #mistakes


yutani中使用

MIT许可证

54KB
1.5K SLoC

Syslib

在Rust中使用Linux ABI,无需C语言。

Syslib试图让使用Linux系统调用尽可能愉快。尽可能地将系统调用封装,使其可以从安全的Rust代码中调用(也许有点危险!)。

动机

这个库不可移植——并且它并不打算可移植。与libc有关的一个主要问题是它需要可移植性,即使这意味着牺牲其他一切。但尽管如此,应用程序和库通常需要为每个平台上的奇偶问题有条件地编译修复。厌倦了libc给我带来的不必要的痛苦(null-terminated字符串可能是计算中的最大错误),我决定接受可能的性能提升,并享受Linux稳定的ABI。

此外,如果整个用户空间堆栈都基于Rust,那将非常酷。

安全性

目前,除了我自己的使用外,对这个库的测试很少。在没有良好审查的情况下,我不会信任它。此外,它仍在积极开发中,没有接口是稳定的。

依赖项

~1.5MB
~35K SLoC