Windows Programming

함수 호출 방식(cdecl, stdcall, pascal)

오즈마스터 2008. 2. 15. 14:13
함수 호출 방식(cdecl, stdcall, pascal)
1.인수를 스택에 집어넣는 방향에 따라서 다음과 같이 나뉘고
       pascal : 인수를 스택에 저장하는 순서를 왼쪽에서 오른쪽으로 한다.
       cdecl : 인수를 스택에 저장하는 순서를 오른쪽에서 왼쪽으로 한다.
      stdcall : 인수를 스택에 저장하는 순서를 오른쪽에서 왼쪽으로 한다.
2.스택에 인수를 pop 하는 주체에 따라서 다음과 같이 나뉘고.
      pascal : 호출을 당하는 쪽이 스택공간을 삭제한다.
      stdcall : 호출을 당하는 쪽이 스택공간을 삭제한다.
     cdecl : 호출을 하는 쪽이 스택공간을 삭제한다.
이렇게 stdcall은 pascal방식과 cdecl방식을 혼합한 형태를 띄운다