Calling Convention (함수호출 규약)
함수 호출 규약은 함수의 호출 및 반환에 대한 약속이다. 컴파일러는 지원하는 호출 규약 중, CPU 아키텍처에 적합한 것을 선택한다. cdecl: x86아키텍처는 레지스터의 수가 적으르모, 스택을 통해 인자를 전달한다. SYSV: SYSV(SYSTEM V)에서 정의한 함수 호출 규약은 다음의 특징을 같는다. (x86-x64아키텍처) 1. 6개의 인자를 RDI, RSI, RDX, RCX, R8, R9에 순서대로 저장하여 전달한다. 더 많은 인자를 사용해야 할 때는 스택을 추가로 이용한다. 2. Caller에서 인자 전달에 사용된 스택을 정리한다. 3. 함수의 반환 값은 RAX로 전달합니다. 해당 내용은 https://dreamhack.io/learn/54#13에서 확인할 수 있다.