C++ 메모리 구조

메모리 구조

– 프로그램은 운영 체제에서 관리합니다. 랜덤 액세스 메모리(RAM)그것의 일부가 할당되어 사용됩니다.

– 프로그래머가 만든 변하기 쉬운코드에 따라 할당된 메모리에 저장되며 범위는 다음과 같습니다.

  • 암호 : 실행할 코드 저장기존 영역 / 기계어 형태, 읽기 전용
  • 데이터 : 글로벌 변수, 정적 변수 등은 프로그램 시작 시 저장/할당되고 프로그램 종료 시 소멸됩니다.
  • 스택: 지역 변수, 매개변수함수가 호출될 때 할당되고 완료 시 해제되는 반환 주소를 저장하기 위해 저장/사용됩니다.
  • 더미 : malloc 함수 등을 통해 동적 매핑사용 중인 영역/명시적으로 해제될 때까지 보유 > 여유 공간 필요

(*malloc 함수 : Memory Allocation의 약자로 메모리 사용을 위해 바이트 단위로 공간을 절약하고 할당된 공간에 대한 테이블 인터페이스를 반환한다. 기타 동적 할당 기능: 콜록 함수 , 무료 기능)

메모리 구조의 특징

– 스택 영역이 클수록 힙 영역이 작아지고, 힙 영역이 클수록 스택 영역이 작아집니다.

참조

: 블로그 1 , 블로그 2 , 블로그3