답변

8

함수의 에필로그와 프롤로그는 함수가 호출 될 때 함수의 컨텍스트를 '설정'하고 반환 할 때 정리하는 명령 집합입니다.

프롤로그는 일반적으로 같은 작업을 수행

:

  • 는 스택에 스토리지를 할당 (함수 호출에 걸쳐 보존 할 수있는 플랫폼의 표준에서 요구하는) 함수가 사용할 수있는 모든 레지스터를 저장을 그 함수는 스택에 전달 될 수있는 매개 변수에 국부적
  • 세트까지 모든 포인터 (또는 다른 링크)를 위해 필요할 수도

에필로그는 일반적으로 저장 레지스터를 복원하고 스택 포인터를 복원하여 함수가 자체 용도로 예약 한 모든 메모리가 '해제'되도록해야합니다.

프롤로그/에필로그에서 사용될 수있는 정확한 메커니즘은 CPU 아키텍처, 플랫폼 표준, 함수의 인수와 반환 값 및 함수가 사용할 수있는 특정 호출 규칙에 따라 다릅니다.

+0

대단히 감사합니다. –

2

위키 백과 FTW는 :

https://en.wikipedia.org/wiki/Function_prologue 내 의견으로는, 상당히 잘 설명하는 것 같았다. 불명확 한 것이 있으면 알려주세요. 나는 일을 시도하고 정리할 수 있습니다.

+0

좋은 one.Thanks. :-) –