※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예전에 이것과 관련된 내용을 IT 포럼에서 발표하기 위해 만들어 놓은 prezi가 있다.함께 참고하면 좋을 듯.http://prezi.com/obkhqdxaz3zx/programming-compile-loading-for-korean/ 우선 개발자가 c언어로 코딩을 한다는 가정하에 이때 개발자는 *.c 혹은 *.cpp이 될 수도 있는 파일을 작성(Cording)하게 된다. 그리고 소스파일을 빌드(Build)하게 되는데 이때 고급언어인 C언어를 보다 낮은 언어인 어셈블리어로 변환하며 그 후에 다시 어셈블리어를 기계어로 바꿔주는 역할을 컴파일러(Compiler)가 수행한다. 대부분 흔히 고급언어에서 기계어..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예전에 이것과 관련된 내용을 IT 포럼에서 발표하기 위해 만들어 놓은 prezi가 있다.함께 참고하면 좋을 듯.http://prezi.com/obkhqdxaz3zx/programming-compile-loading-for-korean/ 전 포스팅에서 메모리의 영역은 코드, 스택, 데이터, 힙 세그먼트로 나눠진다고 조사하였다. 스택(Stack)은 LIFO(Last in Last out) 구조로 이루어져 있다. LIFO란 마지막으로 들어온 값이 처음으로 나간다는 뜻으로써 FIFO(First in First out) 구조의 큐(Queue)와는 상반되는 개념으로 설명되고 있다. 스택 프레임은 스택 세그먼트에서..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예전에 이것과 관련된 내용을 IT 포럼에서 발표하기 위해 만들어 놓은 prezi가 있다.함께 참고하면 좋을 듯.http://prezi.com/obkhqdxaz3zx/programming-compile-loading-for-korean/ 데이터 메모리는 크게 코드 세그먼트, 스택 세그먼트, 데이터 세그먼트, 힙 세그먼트 네 가지로 구분 지을 수 있다. 첫 번째 코드 세그먼트는 소스파일의 코드가 할당되어 잡히는 메모리 영역이다. 이 부분에 변화가 있어선 안되기 때문에 기본적으로 쓰기가 금지되어 있다. 다음으로는 스택 세그먼트에는 지역변수가 할당 된다. 스택 구조로 쌓아 올려짐으로써 재귀호출이 가능해진다. ..