__fastcall은 C++빌더 프로그램을 하다보면 아주 많이 접하게 되는 키워드다. __fastcall은 Calling Convention 콜링 컨벤션의 일종이다. 콜링 컨벤션은 함수를 부를때 어떻게 파라메터를 건네고 스택을 정리할지에 관해 어셈블리 수준에서의 처리를 규정하는 것으로, 곧 함수 호출규약 또는 호출규정이라고 한다. 호출규약의 핵심은 함수 파라메터를 스택에 왼쪽(앞)부터 넣을 것인가 오른쪽(마지막)부터 넣을 것이가 하는 것하고, 스택을 호출한 쪽에서 해제할 것인가 호출된 함수가 해제할 것인가 하는 것이다. 함수 리턴 값의 경우는 대부분 레지스터를 통해 건네지는데 주로 EAX 레지스터를 이용한다. 호출규약에는 다음과 같은 것들이 있다. * __cdecl : 전통적인 C 스타일의 호출규정으로 ..
read more ...호출 규약
2008. 6. 13. 12:13