반응형
머신 코드 영역에는 우리 프로그램이 실행될 때 그 프로그램이 컴파일된 바이너리가 저장된다.
글로벌 영역에는 프로그램 안에서 저장된 전역 변수가 저장된다.
힙 영역에는 할당된 메모리의 데이터가 저장된다. 그리고 스택에는 프로그램 내의 함수와 관련된 것들이 저장된다.
힙 영역에서는 메모리가 더 할당될수록, 점점 사용하는 메모리의 범위가 아래로 늘어난다.
마찬가지로 스택 영역에서도 함수가 더 많이 호출 될수록 사용하는 메모리의 범위가 점점 위로 늘어난다.
이렇게 점점 늘어나다 보면 제한된 메모리 용량 하에서는 기존의 값을 침범하는 상황도 발생한다.
이를 힙 오버플로우 또는 스택 오버플로우라고 일컫는다.
출처
https://www.boostcourse.org/cs112/lecture/119035/?isDesc=false
반응형
'Programming > 온라인 교육' 카테고리의 다른 글
[중고거래장터 - 6] setter 대신 빌더 패턴 사용 / Controller와 Service 계층의 역할 분리 (2) | 2022.02.24 |
---|---|
[CS50] 문자열 (0) | 2021.12.06 |
[CS50] 포인터 (0) | 2021.12.06 |
[CS50] 메모리 (0) | 2021.12.06 |
[CS50] 알고리즘 (0) | 2021.12.03 |