Windows의 COM(Component Object Model)에서는 함수 호출 규약이 좀 특이하던데.
COM이 C++로 됐다는 건 알지? 근데 C++의 __thiscall 호출 규약은 this 포인터를 ECX 레지스터를 이용해 넘기는 방식인데
COM의 메서드들은 이런 느낌으로 호출된다.
C++ 메서드 예)
int ObjectA::methodA(int param1);
실제 호출 규약)
HRESULT __stdcall ObjectA::methodA(ObjectA *this, int *pOut, int param1);
output이 없으면 두번째 인자인 int *pOut 매개 변수는 없어지고.
저건 뭐 정해진 호출 규약 이름이 없음? 언젠가인가 __comthiscall이라는 이름을 문득 본 거 같기도 하고...
ST7 7 8.℃ ○M krguw109