HANDLE GetProcessHeap(VOID)
LPVOID HeapAlloc(HANDLE hHeap, DWORD dwFlags, DWORD dwBytes);
BOOL HeapFree(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem);
HANDLE HeapCreate(DWORD flOptions, DWORD dwInitialSize, DWORD dwMaximumSize);
가상 메모리 할당은 페이지 단위로 할당되어서 4K 바이트씩 할당되지만 힙 메모리 할당은 10여 바이트 정도를 단위로 할당한다. 따라서 작은 바이트를 할당할 때는 힙 메모리 할당을 사용하는 것 효율적이다.
프로세스가 처음 만들어질 때 1M의 디폴트 힙이 만들어진다. 이 디폴트 힙의 핸들을 가져오는 함수가 GetProcessHeap()이다.
- GetProcessHeap : 디폴트 힙의 핸들값 반환
- HeapAlloc : 힙 메모리 할당
- HeapFree : 힙 메모리 반환
HeapCreate : 디폴트 힙이 아닌 새로운 힙 할당
+
LPVOID HeapReAlloc(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, DWORD dwBytes); : 힙 메모리 재할당
DWORD HeapSize(HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem); : 할당된 힙의 크기를 조사
'Programming > Win_API' 카테고리의 다른 글
IPC - 메일 슬롯 (1) | 2012.12.26 |
---|---|
윈도우즈 API - 데이터 타입(reference) (0) | 2012.09.13 |
윈도우즈 API - 메모리 관련 함수1 (VirtualAlloc, VirtualFree, VirtualProtect) (1) | 2012.09.07 |
윈도우즈 API - 파일 관련 함수(CreateFile, WriteFile, ReadFile) (4) | 2012.09.03 |
윈도우즈 API - 윈도우 창 관련 함수 (1) | 2012.08.23 |