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.
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;
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.