종종 나오는 __cdecl, __stdcall, __fastcall, abi, eabi에 대해서 알아보자.
VS에서 컴파일 하다보면.. 간혹 아래와 같은 메시지가 나오는데
cdecl은 대체 먼가..?
함수 A(호출 함수=Caller)가 다른 함수B(피호출 함수= Callee)를 호출했음
B는 (실행이 완료된 이후에) A가 요청한 값을 반환해야함
= A는 B에게서 (실행이 완료된 이후에) 반환값을 받아야 함
반환된 이후에는 호출자의 상태정보(Strack frame)과 반환 주소(Return Address) 저장해야 한다.
인자가 스택에 저장할때 왼쪽부터? 오른쪽부터?
함수 호출이 끝났을때 스택을 누가 정리하나? Caller가? Callee가?