VirtualAlloc의 특징
- 메모리의 시작 주소는 64K의 배수여야 한다.
- 메모리 크기는 PAGE 크기의 배수여야 한다.
힙 메모리의 역할
- VirtualAlloc에서 할당한 메모리를 필요한 만큼 떼어다가 주는 것
- 필요할 땐 빈 공간을 떼어다 주고, 반납하면 사용가능하도록 다시 처리해주는 알고리즘
힙 메모리의 특징
- 기본 힙은 1MB로 예약 되고, 크기는 모자라면 자동으로 증가한다.
- 힙은 필요하면 또 만들 수 있음
- 힙을 사용할 때는 기본 힙에서 할당할 지, 새로 만든 힙에서 할당할 지 결정해야 한다.
힙 사용하기
- 기본 힙 핸들 얻기 : GetProcessHeap();
- 힙에서 메모리 할당 : HeapAlloc()
- 힙에서 메모리 해지 : HeapFree()
HeapAlloc

- hHeap : 할당할 힙의 핸들
- dwFlags : 힙의 속성을 지정하는 플래그 (HEAP_ZERO_MEMORY : 할당된 메모리 0초기화)
- dwBytes : 할당 받을 사이즈
HeapFree

- hHeap : 해제할 힙 핸들
- dwFlags : 멀티스레딩 시 동기화 여부를 플래그로 줄 수 있음, 관례상 0
- lpMem : 해제할 메모리 주소
'운영체제 > [ecourse] Windows Programming' 카테고리의 다른 글
6-1. Thread Basic (0) | 2022.09.20 |
---|---|
5-4. Stack Memory (0) | 2022.09.19 |
5-2. Virtual Memory Allocation (0) | 2022.09.18 |
5-1. Virtual Address Space (1) | 2022.09.16 |
4-2. Process ID & Handle (0) | 2022.09.13 |
댓글