stdcall — 스택 기반 Win32 표준 호출 규약
stdcall — 스택 기반 Win32 표준 호출 규약
Windows API나 C 라이브러리를 Pascal에서 함께 쓸 때, 양쪽이 같은 방식으로 인자를 주고받아야 해요. stdcall은 그중에서도 널리 쓰이는 호출 규약 중 하나예요.
본문
stdcall 한정자는 스택에 인자를 오른쪽에서 왼쪽으로 밀어 넣어요. 그리고 모든 인자를 기본 정렬(default alignment)에 맞춰 정렬해요. 이 규약은 주로 Windows 계열에서 외부 함수와 연동할 때 요구돼요.
이 한정자에 대한 더 자세한 내용은 Programmer's Guide의 호출 메커니즘(calling mechanism) 섹션과 링크(link)에 관한 장에서 다루고 있어요. 실제로 호출 규약이 어떻게 동작하는지, 인자가 어떤 순서로 전달되는지 궁금하다면 그 부분을 함께 보면 좋아요.
더 알아보기
- SYSV_ABI_Default — x86-64의 System V AMD64 ABI 호출 규약
- cdecl 관련 — C 언어 표준 호출 규약
- winapi — 플랫폼에 따라 stdcall/cdecl을 자동 고르는 한정자