프로그램이(프로세스가) 실행 될 때, 메모리의 구조 (code, text 영역)
컴퓨터의 성능을 수치로 나타낸다면 어떤 것을 수치화 해야할까. CPU의 코어 개수, 코어당 클럭, 캐시 메모리의 크기, RAM의 크기, GPU의 클럭, GPU의 로컬 메모리 등등 여러 가지 기준이 있을 수 있지만 컴퓨터에 큰 관심이 없는 사람들 기준으로 생각해보면 SSD의 용량(하드 용량), RAM의 크기 두 가지가 상당히 자주 쓰일 것이라 생각한다. 여러 가지 항목들 중 우선 프로그램이 실행될 때, RAM에 프로그램이 어떤 식으로 적재되고 동작 과정에서 어떻게 변하는지부터 천천히 정리하고자 한다. 코드(.cpp) 를 실행 가능한 프로그램 (.exe) 로 컴파일을 한 상황을 생각해보자. 우선 코드를 전처리한 후, 컴파일하고, 링킹을 하여 최종적으로 프로그램을 받을 수 있을 것이다. 이때 전처리를 담당하는..