Soft Ware/Windows 구조와 원리

함수 호출

달려가보자 2011. 11. 16. 01:36

1. __cdecl 

--> 프로시저에서 다른 프로시저를 호출시 파라미터는 오른쪽에서 왼쪽으로 스택에 쌓이고
       호출하는 쪽에서 파라미터 스택 해제



2. __stdcall

--> 프로시저에서 다른 프로스저 호출시 파라미터는 오른쪽에서 왼쪽으로 스택에 쌓이고 
       호출 받는 쪽에서 파라미터 스택 해제



3. __fastcall

--> 파라미터 2개는 스택을 사용하지 않고 EDX , ECX 를 사용 , 2개이상부터는 파라미터 에 쌓인다.
      스택 해제는 __stdcall과 같다.


4. Naked 함수

- 모든 스택 프레임에 대한 규정과 해제를 프로그래머가 직접 신경 써줘야 한다.

여기서 __LOCAL_SIZE는 이 Naked 형식의 함수에서 정의한 로컬 변수의 사이즈를 컴파일러에서
자동으로 계산하여 넣어주는 심벌
만약에 심벌이 제공 되지 않는다면 사용자가 직접 이 함수에서 사용한 로컬 변수의 사이즈를 계산
하여야 함



'Soft Ware > Windows 구조와 원리' 카테고리의 다른 글

함수의 리턴값에 대해서 ....  (2) 2011.11.16
스택 백트레싱  (0) 2011.11.16
복귀 주소가 가지는 특징  (0) 2011.11.16
Windows 구조와 원리  (0) 2011.11.16
뮤텍스와 세마포어  (0) 2011.11.13