매번 질문에 좋은답변달아주셔서 감사합니다 (*__)

요즘 전공과목으로 컴프를 듣기 시작하면서 
궁금한게 생겨버렸습니다.

처음으로 듣는 강의라 그런지 아직 변수의 선언과 메모리 할당에관한
간단한 내용만을 배우고 있지만, cpu 까지 전달되어 처리되는 과정을 생각하려니
혼자서는 상상하기 조차 어렵네요 ;;

아주 간단한 프로그램을 예로 들어
#include <stdio.h>
int main() {
int i = 0;
int j = 1;
printf("i = %d, j=%d", i, j);
return 0;
}

이와같은 프로그램을 실행한다면 과연 메모리상에는 어떤 정보들이 load 되는것일까?
하는게 저의 question입니다.

여러(*?) 문서를 보아하니
어떤 부분은 stack 에 들어가고
프로그램 코드는 어디에 들어가고 ..
여기서 여기로 jump 하고 ..
뭐 그렇다니 그렇게 알고 사용하고 있기는하지만..

머릿속에서 궁금증이 가시지 않습니다.

이 코드가 그대로 메모리 속으로 가는건 아닐테고
더 잘게 나뉘어서 더 많은 순서를 지니는 코드가 되고
컴파일을 거친 기계어 코드가 load될 테지만

실행코드와 기억공간이 메모리상에 어떻게 자리잡고 어떻게 유기적으로 연결되어 사용되는지

소스코드의 각 부분들과 어떻게 대응되는지 알고싶습니다... 저의궁금증을해결해주세요!!




ps. 혹시 이런부분들을 다룬 괜찮은 책이 있다면 추천해주세요!
이 게시물을..

right!