10 个版本

0.1.1-alpha.92024年3月30日
0.1.0-alpha.12024年3月30日

内存管理 中排名第 272

LGPL-3.0-or-later

5KB

lazy_heap:围绕 slab_allocator_rs 的包装器,允许懒初始化

尽管在 crates.io 仓库中有许多全局分配器,但我用自家的内核代码摸索了3年,发现有时候,节省的时间越多,越好。因此,我在自己的内核代码中想出了这个方法,但鉴于它的实际用途非常广泛,决定向公众开放。

使用此crate允许您使用闭包在第一次尝试访问时自动(懒加载)初始化堆

use lazy_heap::LazyHeap;

#[global_allocator]
pub static ALLOC: LazyHeap = LazyHeap::new(|| {
    // allocator initialization code goes here
});

这是一种比其他任何方法都更无缝、更少错误的方法来初始化堆分配,因为它可以保证,任何第一次尝试使用 alloc 都会自动为您初始化堆。

依赖项

~200KB