nostackframe 함수 수식자

nostackframe 함수 수식자

이 프로시저·함수에 대해 스택 프레임(stack frame)을 생성하지 말라고 컴파일러에 지시하는 수식자가 nostackframe이에요. 기본적으로 모든 루틴에 스택 프레임이 만들어지기 때문에, 아주 신중하게 써야 해요.

출처: Free Pascal Reference 14.9.14 nostackframe

본문

nostackframe 수식자는 이 프로시저나 함수에 대해 컴파일러가 스택 프레임을 생성하지 않도록 지시할 때 사용해요. 기본적으로 각 프로시저·함수마다 스택 프레임이 항상 생성되지만, 컴파일러가 가능하다고 판단하면 생략하기도 해요.

순수 어셈블러(asm) 루틴에서는 이 지시어로 스택 프레임 생성을 생략할 수 있어요.

다만 이 수식자는 정말 조심해서 써야 해요. 대부분의 프로시저·함수는 스택 프레임이 필요하고, 특히 디버깅을 위해서는 스택 프레임이 꼭 필요하기 때문이에요.

더 알아보기

  • Free Pascal Reference의 프로시저·함수 수식자 섹션
  • 어셈블러 루틴과 스택 프레임