use basic_allocator::allocators::HeapGrower;
#[cfg(feature = "use_libc")]
use basic_allocator::allocators::LibcHeapGrower;
#[cfg(not(feature = "use_libc"))]
use basic_allocator::allocators::SyscallHeapGrower;
fn main() {
#[cfg(feature = "use_libc")]
{
println!("Using libc");
let mut lhg = LibcHeapGrower::default();
let (p, sz) = unsafe { lhg.grow_heap(8).unwrap() };
println!("Returned: ({:p}={}, {})", p, p as i64, sz);
}
#[cfg(not(feature = "use_libc"))]
{
println!("Using assembly syscalls");
let mut shg = SyscallHeapGrower::default();
let (p, sz) = unsafe { shg.grow_heap(8).unwrap() };
println!("Returned: ({:p}={}, {})", p, p as i64, sz);
}
}