#string #reference #slice #thin #abi #unix #nul

nightly null-terminated

带有薄引用的空终止符切片和 UTF-8 编码字符串的库

24 个版本

使用旧的 Rust 2015

0.3.17 2021 年 12 月 14 日
0.3.15 2021 年 5 月 26 日
0.3.14 2019 年 12 月 9 日
0.3.9 2019 年 4 月 24 日
0.2.6 2017 年 12 月 22 日

#2175 in Rust 模式

Download history • Rust 包仓库 151/week @ 2024-03-13 • Rust 包仓库 126/week @ 2024-03-20 • Rust 包仓库 178/week @ 2024-03-27 • Rust 包仓库 175/week @ 2024-04-03 • Rust 包仓库 128/week @ 2024-04-10 • Rust 包仓库 185/week @ 2024-04-17 • Rust 包仓库 150/week @ 2024-04-24 • Rust 包仓库 133/week @ 2024-05-01 • Rust 包仓库 109/week @ 2024-05-08 • Rust 包仓库 90/week @ 2024-05-15 • Rust 包仓库 92/week @ 2024-05-22 • Rust 包仓库 103/week @ 2024-05-29 • Rust 包仓库 172/week @ 2024-06-05 • Rust 包仓库 210/week @ 2024-06-12 • Rust 包仓库 155/week @ 2024-06-19 • Rust 包仓库 150/week @ 2024-06-26 • Rust 包仓库

700 每月下载量
用于 9 个 crate(6 个直接使用)

MIT/Apache 许可证

20KB
317 行代码(不含注释)

null-terminated

空终止符切片UTF-8 编码字符串的库,这些引用是薄指针,以提高效率和易于与 FFI 一起使用

可能的用例主要是 C FFI 和 OS ABI(例如:在 Unix 上,许多系统调用需要空终止的参数,初始环境也涉及空终止的参数)。

由于表示是元素类型的裸指针,可以声明仅接受参数或返回类型为 Nul<_> 的外函数,例如

extern "C" {
    fn strlen(_: &Nul<u8>) -> usize;
    fn strchr(_: &Nul<u8>, _: c_int) -> &Nul<u8>;
}

更多示例,请参阅Nul的文档。

许可证:MIT OR Apache-2.0


lib.rs:

空终止符切片UTF-8 编码字符串的库,这些引用是薄指针,以提高效率和易于与 FFI 一起使用

可能的用例主要是 C FFI 和 OS ABI(例如:在 Unix 上,许多系统调用需要空终止的参数,初始环境也涉及空终止的参数)。

由于表示是元素类型的裸指针,可以声明仅接受参数或返回类型为 Nul<_> 的外函数,例如

extern "C" {
    fn strlen(_: &Nul<u8>) -> usize;
    fn strchr(_: &Nul<u8>, _: c_int) -> &Nul<u8>;
}

更多示例,请参阅Nul的文档。

依赖项

~1.5MB
~35K SLoC