malloc.c

来自「深圳市微逻辑电子有限公司 巨果&#8226 Kingmos&reg 系统核心」· 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 + -
显示快捷键?