C++ 메모리의 모든 것
우선 프로그램의 메모리 구조는 (낮은 주소부터 순서대로) Code, Data, (BSS), Stack, Heap으로 나뉜다. Code(Text)에는 CPU가 읽을 기계어 형태의 코드 데이터들(Read-Only)이 들어가있으며, CPU는 순차적으로 처리하게된다. Data에는 전역변수, 정적(Static)변수가 있다. 따라서 프로그램이 시작할 때 할당되며 (초기화는 언제나 이 때 이루어지며, 만약 함수의 리턴값을 초기값으로 줬을 경우, 0으로 초기화되며, 이후에 함수가 셋팅되며 값이 수정된다), 프로그램이 종료될 때 소멸됨을 기억하자. (비록 지역변수로 static변수를 정의해도, 위와 같다) BSS(Block Stated Symbol)은 초기화가 아직 안된, 흔히 null(= 0) 데이터를 가졌다고 말하는..
2020. 3. 1. 17:09