winapi를 사용하면서 winapi 함수들에 사용된 stdcall에 대해 찾아본 내용을 정리해보았다. 함수의 호출을 이해하기 위해서는 우선 콜 스택과 몇가지 레지스터에 대해 이해하고 있어야 한다. 콜 스택(Call stack) 함수 호출 시 스택에는 함수의 매개변수 + 함수 본체에서 사용하는 지역변수 + 함수 호출 후 돌아갈 반환 주소 등이 저장되어 있다. 이렇게 스택 영역에 차례대로 저장되는 데이터들을 스택 프레임(Stack Frame)이라고 한다 이때 함수마다 프레임의 크기는 다르기 때문에 함수 호출이 끝난 후, 해당 함수가 돌아가기 위해서는 바로 이전 프레임의 포인터 값을 가지고 있어야 함. 이러한 정보는 레지스터에 담아 저장해놓는데 이 레지스터들은 EBP, ESP가 있다. EBP(Extended..