malloc.c
来自「深圳市微逻辑电子有限公司 巨果• Kingmos® 系统核心」· C语言 代码 · 共 65 行
C
65 行
#include <eframe.h>
void * Mem_Alloc( DWORD dwSizeNeeded )
{
void * p = NULL;
HANDLE hHeap = GetProcessHeap();
if( hHeap )
{
//EnterCriticalLock( hHeap );
//_HeapCheck();
p = Heap_Alloc( hHeap, 0, dwSizeNeeded );
//_HeapCheck();
//LeaveCriticalLock( hHeap );
}
return p;
}
void Mem_Free( void FAR * lpvUsed )
{
HANDLE hHeap = GetProcessHeap();
if( hHeap )
{
//EnterCriticalLock( hHeap );
Heap_Free( hHeap, 0, lpvUsed );
//LeaveCriticalLock( hHeap );
}
}
void * Mem_Realloc( void *p, DWORD dwResize )
{
void * pRetv = NULL;
HANDLE hHeap = GetProcessHeap();
if( hHeap )
{
//EnterCriticalLock( hHeap );
pRetv = Heap_ReAlloc( hHeap, 0, p, dwResize );
//LeaveCriticalLock( hHeap );
}
return pRetv;
}
/*
BOOL Mem_Enum( LPMEMENUM lpfn, LPARAM lParam, UINT uiFlag )
{
HANDLE hHeap = GetProcessHeap();
if( hHeap )
{
return Heap_Enum( hHeap, lpfn, lParam, uiFlag );
}
return FALSE;
}
*/
void * Mem_Calloc( DWORD num, DWORD size )
{
void *ptr;
size *= num;
ptr = Mem_Alloc( size );
if( ptr )
memset( ptr, 0, size );
return ptr;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?