본문 바로가기
programing/Common

Stack & Heap의 접근과 메모리 할당

by RedWiz 2016. 8. 16.

- 일반적으로 메모리 풀을 Heap에 할당하여 사용함


- 단편화를 막기 위한 방편으로 사용할 때 Stack 메모리에 영역을 잡고 사용한다면 Heap보다 빠른 이점이 있을 것


- 스택은 용량이 1M(VC default, 늘릴 수 있음)로 제한되어서 Heap을 더 사용함


- 스택에 동적 할당하는 방법 : void* alloca(size_t _Size), void* malloca(size_t _Size)

└ 메모리 해제를 해주지 않아도 됨 (프로그램 종료시 stack이 파괴될 때 같이 자동 해제됨)

└ free()로 해제 불가능

└ 단, 오류나 BOF(Buffer Overflow)가 발생하기 쉬움

└ 1M 제한은 여전히 존재


- 스택이 힙보다 빠른 이유 : 지역 참조성 (Cache 히트율이 높음) (위치와는 관계가 없음)



'programing > Common' 카테고리의 다른 글

Agile 방법론  (0) 2016.12.16
[VS] No EditorOptionDefinition Export Found Error  (0) 2016.08.25
Visual Studio 설정  (0) 2016.08.10
콜백 함수  (0) 2016.08.09
Git 정리  (0) 2016.08.08