__stdcall
- stdcall은 Microsoft에서 사용하는 호출 규약 중 하나로, 주로 Win32 API 함수 호출에 사용됩니다. 호출 규약은 함수가 호출될 때 스택을 정리하는 책임이 호출된 함수(callee)에 있다는 점에서 다른 호출 규약과 차별화됩니다.
주요 특징
인수 전달 순서: 오른쪽에서 왼쪽으로 전달됩니다.
- 우측에 인수부터 스택에 쌓임
인수 전달 방식: 값으로 전달되며, 포인터나 참조 타입이 전달될 경우 해당 타입으로 전달됩니다.
스택 유지 관리: 호출된 함수가 스택을 정리합니다.
이름 장식 규칙: 함수 이름 앞에 밑줄(_)이 붙고, 이름 뒤에 @ 기호와 인수 목록의 바이트 수가 붙습니다. 예를 들어,
int func(int a, double b)
함수는_func@12
로 장식됩니다.대소문자 변환 규칙: 없음.
주된 사용 사례
Win32 API 함수 호출: 많은 Win32 API 함수가 stdcall을 사용합니다.
COM 인터페이스: Component Object Model(COM)에서는 stdcall을 사용하여 인터페이스 메서드를 호출합니다.
DLL 함수: 동적 링크 라이브러리(DLL)에서 정의된 함수를 호출할 때 stdcall을 사용합니다.
'프레임워크 > VisualStudio' 카테고리의 다른 글
디버깅 팁 (1) | 2025.03.27 |
---|---|
MSVC_CL 명령 (0) | 2025.03.27 |
XML 문서화 (0) | 2025.03.27 |
SAL 주석(Static Analysis Language) (0) | 2025.03.27 |
단축키 (0) | 2025.03.27 |