libc_alloc
libc_alloc copied to clipboard
A simple global allocator for Rust which hooks into `libc`. Useful in `no_std` contexts.
libc_alloc
A simple global allocator for Rust which hooks into libc functions.
Useful when linking no_std + alloc code into existing C codebases.
On Unix-like OSs, use memalign for allocations, and free for deallocations.
On macOS, use posix_memalign for allocations, and free for deallocations.
On Windows, use native _aligned_malloc for allocations, _aligned_realloc for reallocations, and _aligned_free for deallocations.
Example
use libc_alloc::LibcAlloc;
#[global_allocator]
static ALLOCATOR: LibcAlloc = LibcAlloc;
Alternatively, with the global Cargo feature, the crate only needs to be pulled in:
extern crate libc_alloc;
Project Status
Given how dead-simple this crate is, I doubt it will need to be updated very often.
Please file an issue and/or open a PR if you spot a bug / if something stops working.