GlobalAlloc — 전역 할당자를 위한 트레이트

GlobalAlloc — 전역 할당자를 위한 트레이트

GlobalAlloc#[global_allocator]로 지정해 프로세스 전역 할당자가 되기 위한 트레이트예요. 시스템 전역에서 사용되는 기본 메모리 할당 동작을 정의해요.

출처: Rust 공식 문서

본문

pub unsafe trait GlobalAlloc {
    // Required methods
    unsafe fn alloc(&self, layout: Layout) -> *mut u8;
    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout);

    // Provided methods
    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { ... }
    // ...
}

필수 메서드는 allocdealloc이에요. 이 트레이트는 unsafe라서 구현 시 메모리 안전성을 보장해야 해요. Box, Vec 등이 실제로 힙 메모리를 얻는 공통 경로가 바로 이 트레이트의 메서드들이에요.

더 알아보기 (Learn more)

Rust 공식 문서