slab_allocator_rs

Crates.ioslab_allocator_rs
lib.rsslab_allocator_rs
version1.0.2
sourcesrc
created_at2021-05-18 23:58:32.568588
updated_at2023-01-07 22:49:03.144559
descriptionSlab 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
repositoryhttps://github.com/arioz0330/slab_allocator
max_upload_size
id399194
size21,870
Alex Rios (axriosn)

documentation

README

slab_allocator_rs

Usage

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);
    }
}

License

This crate is licensed under MIT. See LICENSE for details.

This is an updated fork of https://github.com/weclaw1/slab_allocator

Commit count: 56

cargo fmt