2个版本
0.1.1 | 2024年5月16日 |
---|---|
0.1.0 | 2024年5月4日 |
#195 在 内存管理
每月 73 次下载
39KB
816 行
Index Alloc
一个简单、玩具般的静态分配器,使用固定长度数组存储分配的数据。
此crate公开一个名为IndexAllocator
的结构体,它实现了GlobalAlloc
,因此可以作为在no_std
环境中的全局分配器使用。
缺点
- 极其不安全
- 非常慢
- 内存效率低下
尽管它看起来不可用,但它有很多优点
- 开玩笑的,不要使用它
为了存储分配的内存,IndexAllocator
使用一个MemoryIndex
,该索引存储一个包含区域状态的区域列表(大小、起始地址、使用状态)。例如
use index_alloc::IndexAllocator;
#[global_allocator]
static ALLOCATOR: IndexAllocator<2048, 16> = IndexAllocator::empty();
fn main() {
let test_str = String::from("Hello World");
println!("{test_str}");
}
请参阅Repository's 示例
中的更多示例。