#分配器 #堆分配器 #slab # #内核 #无std

无std slab_allocator_rs

适用于无std系统的slab分配器。使用多个不同大小的slab块和一个 buddy系统分配器来处理大于4096字节的块。已更新到最新的nightly rust

3个稳定版本

1.0.2 2023年1月7日
1.0.1 2021年11月18日
1.0.0 2021年5月18日

#424内存管理


用于 lazy-heap

MIT 许可证

21KB
428

slab_allocator_rs

用法

在根模块中创建一个静态分配器

use slab_allocator::LockedHeap;

#[global_allocator]
static ALLOCATOR: LockedHeap = LockedHeap::empty();

在使用此分配器之前,您需要初始化它

pub fn init_heap() {
    let heap_start =;
    let heap_end =;
    let heap_size = heap_end - heap_start;
    unsafe {
        ALLOCATOR.init(heap_start, heap_size);
    }
}

许可证

本crate采用MIT许可证。有关详细信息,请参阅LICENSE。

这是https://github.com/weclaw1/slab_allocator的更新分支

依赖项

~180KB