잠토의 잠망경

HeapCreate & HeapFree 본문

공부/API

HeapCreate & HeapFree

잠수함토끼 2008. 9. 7. 11:09
#undef UNICODE

#include 
#include 

void HeapCreateFunction()
{	//HeapCreate: 사용자가 임의로 Heap을 하나 만들수 있다.
	HANDLE hHeap=HeapCreate(0,4*1024,1*1024*1024);
	if(!hHeap)
	{
		printf("HeapCreate Error\n");
		return;
	}
	//HeapAlloc: 사용자가 Default Heap이나 Ueser heap등에 메모리를 할당할때 쓰는 함수
	PINT32 ptr = (PINT32)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,sizeof(int)*10);
	for(int i=0;i<10;i++){
		printf("%d ",ptr[i]=i*2);
	}
	//HeapSize: 사용자가 Heap의 크기를 알고자 할때 사용하는 함수이다.
	ULONG32 size=HeapSize(hHeap,0,ptr);
	printf("HeapSize: %d\n",size);
	//HeapFree: 사용자가 Heap에서 사용한 메모리를 해제해주는 함수이다.
	HeapFree(hHeap,0,ptr);
	//HeapDestroy: 사용자가 임의로 할당한 Heap을 해제해주는 함수이다.
	HeapDestroy(hHeap);
}

int main(void)
{
	HeapCreateFunction();
	return 0;
}
Comments