31 lines
793 B
C
31 lines
793 B
C
#include <os_memory.h>
|
|||
|
|
#include "buddy.h"
|
||
|
|
#include "os_align.h"
|
||
|
|
#include "os_compiler.h"
|
||
|
|
|
||
|
|
// 默认使用 buddy
|
||
|
|
static buddy_t s_buddy;
|
||
|
|
|
||
|
|
OS_WEAK
|
||
|
|
void os_memory_init(void* block, os_size_t block_size){
|
||
|
|
buddy_init(&s_buddy, block, block_size, OS_ALIGN_SIZE);
|
||
|
|
}
|
||
|
|
|
||
|
|
void* os_memory_alloc(os_size_t nBytes, const char* file, os_size_t line){
|
||
|
|
return buddy_alloc(&s_buddy, nBytes);
|
||
|
|
}
|
||
|
|
|
||
|
|
void* os_memory_realloc(void* ptr, os_size_t nBytes, const char* file, os_size_t line){
|
||
|
|
return buddy_realloc(&s_buddy, ptr, nBytes);
|
||
|
|
}
|
||
|
|
|
||
|
|
void* os_memory_calloc(os_size_t nCount, os_size_t nBytes, const char* file, os_size_t line){
|
||
|
|
return buddy_calloc(&s_buddy, nCount, nBytes);
|
||
|
|
}
|
||
|
|
|
||
|
|
void os_memory_free(void* ptr, const char* file, os_size_t line){
|
||
|
|
if(!ptr) return;
|
||
|
|
buddy_free(&s_buddy, ptr);
|
||
|
|
}
|
||
|
|
|