Crates.io | slab_allocator_rs |
lib.rs | slab_allocator_rs |
version | 1.0.2 |
source | src |
created_at | 2021-05-18 23:58:32.568588 |
updated_at | 2023-01-07 22:49:03.144559 |
description | Slab allocator for no_std systems. Uses multiple slabs with blocks of different sizes and a buddy system allocator for blocks larger than 4096 bytes. Updated to latest nightly rust |
homepage | |
repository | https://github.com/arioz0330/slab_allocator |
max_upload_size | |
id | 399194 |
size | 21,870 |
Create a static allocator in your root module:
use slab_allocator::LockedHeap;
#[global_allocator]
static ALLOCATOR: LockedHeap = LockedHeap::empty();
Before using this allocator, you need to init it:
pub fn init_heap() {
let heap_start = …;
let heap_end = …;
let heap_size = heap_end - heap_start;
unsafe {
ALLOCATOR.init(heap_start, heap_size);
}
}
This crate is licensed under MIT. See LICENSE for details.
This is an updated fork of https://github.com/weclaw1/slab_allocator