프로그래밍 공부

Calling Convention 1

카테고리 설명
  • 함수 호출 규약 이란? 함수가 호출될 때 매개변수와 반환값을 어떻게 전달하는지 정의하는 규칙이다. 함수 호출 규약은 컴퓨터 아키텍처, 운영체제, 컴파일러와 같은 요소에 따라 달라진다. 그러나, 대부분의 호출규약은 함수 호출 프로토콜을 다음과 같이 규정한다. 매개 변수 전달 방식 매개변수는 레지스터, 스텍, 메모리 또는 조합으로 전달된다. 매개변수 전달 순서 매개 변수는 왼쪽에서 오른쪽으로, 또는 오른쪽에서 왼쪽으로 전달된다. 반환값 처리 반환값은 레지스터, 스텍, 메모리 또는 조합으로 처리된다. 스택 처리 함수가 호출되고 반환될 때 스택 프레임이 생성되고 해제된다. 대표적인 함수 호출 규약으로는, C언어에서 사용되는 cdecl, stdcall, fastcall, this call, vectorcall, ..