Win32 - 함수 호출 규약

[TOC]

함수 호출 방법

  1. 정적함수 호출(전역함수, namespace 내의 전역함수, static 멤버 함수) : f();
  2. 객체로 멤버함수 호출 : a.f();
  3. 객체의 주소로 멤버 함수 호출 : a->f();

함수 호출 규약

종류

정적함수와 멤버함수의 호출 규약

정적 함수의 기본 함수 호출 규약은 cdecl, 멤버함수는 thiscall. 따라서 정적 함수와 멤버 함수 포인터를 다르게 선언함.

Windows에서 함수 호출 규약 정의

#define CALLBACK    __stdcall
#define WINAPI      __stdcall
#define WINAPIV     __cdecl
#define APIENTRY    WINAPI
#define APIPRIVATE  __stdcall
#define PASCAL      __stdcall

참고