함수 프롤로그와 에필로그

개요

프로그램에서 함수의 호출은 어떤 과정으로 일어날까? 메모리의 스택 영역에는 함수가 호출될 때, 호출된 함수와 관계된 지역변수와 매개변수가 저장된다. 만약 프로그램이 함수를 여러 번 호출하거나 함수 내부에서 또 다른 함수를 호출한다면, 여러 함수들의 정보가 스택 영역에 저장될 것이다.

간단한 C 언어 소스코드와 컴파일된 main 함수 어셈블리 코드를 살펴보자.

1
2
3
4
5
6
7
8
void function(int x){
}

int main(){
function(0);

return 0;
}
[코드1. 간단한 C언어 소스코드]
자세히 보기