4 个版本
0.1.2 | 2023 年 3 月 5 日 |
---|---|
0.1.1 | 2023 年 2 月 3 日 |
0.1.0 | 2022 年 12 月 31 日 |
0.0.1 | 2022 年 12 月 22 日 |
在 数据结构 中排名第 1972
用于 2 个crate
13KB
237 行
linked_list_c
这是一个 Rust crate,旨在使 C 风格的链表更容易使用。
一些 FFIs 接受并/或返回链表,需要指针操作和不可安全代码来处理。这个 crate 尝试为您处理这些令人不快的部分,并提供一个安全和直观的接口
特性
- 轻松创建可以传递给 C FFIs 的链表
- 安全地遍历从 C FFI 接收到的链表
- 处理在 drop 时的链表清理
- 可以设置自定义的 drop 函数,如果 Drop 或 libc::free() 不适用于您
- 非常简单的 trait,只需与您最喜欢的 struct 一起使用
- 如果
yourStruct.next
指向下一个yourStruct
,则添加#[derive(LlItem)]
- 或使用
impl_LlItem!([yourStruct, ...])
宏
- 如果
- 零拷贝和最小的额外内存占用(除了从
from<Vec>
实现) - 目前还不是完全的 no_std,但这可以很容易地实现
依赖关系
~46–305KB