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 |