1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#![no_std] use core::alloc::{GlobalAlloc, Layout}; pub struct Mallocator; extern "C" { fn malloc(size: usize) -> *mut u8; fn free(ptr: *mut u8); } unsafe impl GlobalAlloc for Mallocator { unsafe fn alloc(&self, layout: Layout) -> *mut u8 { malloc(layout.size()) } unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) { free(ptr) } }