새소식

💻 Programming (프로그래밍)/C++

[C++] 메모리 구조 (Memory Layout)

  • -
알아두어야 하는 컴파일 타임(Complie Time)과 런타임(Run Time)

컴파일 타임 : 개발자가 소스코드를 컴파일을 통해 기계어로 변환하는 동작 과정
런타임 : 기계어로 변환된 코드가 실행되는 동작 과정

 

메모리 구조

Source (낮은주소) -> Stack(높은순서)로 흘러갑니다.

 

Source(text)

프로그램을 실행 시키기 위해 코드, 매크로 상수(#define)가 기계어로 저장되어 있는 영역입니다.

 

Read-Only로 지정되어 있습니다.

Data

전역변수, Static 변수들이 저장된 영역입니다.

 

Read-Write 로 지정되어 있습니다.

 

Heap

동적으로 할당되는 변수들이 런타임시 결정되고 저장됩니다. (사용자가 할당 합니다.)

 

주로 낮은 주소에서 높은 주소로 할당됩니다.

 

Stack

지역변수, 매개변수들이 저장되는 영역입니다.

 

주로 높은 주소에서 낮은주소로 할당됩니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.