Skip to content

Calling convention

호출 규약(영어: calling convention)은 컴퓨터 과학에서 어떻게 서브루틴이 그들의 호출자(caller)로부터 변수를 받고, 어떻게 결과를 반환하는지에 대한 규약이다.

프로그래밍 언어마다 각기 다른 호출 규약을 사용하며 각기 다른 플랫폼에서도 마찬가지이다. (CPU 아키텍처 + 운영 체제) 이는 여러 언어에서 작성한 모듈을 병합할 때, 또는 작성 장소가 다른 언어의 운영 체제 및 라이브러리 API를 호출할 때 문제를 일으킬 수도 있다. 이러한 경우 호출자(caller)와 피호출자(callee)가 사용하는 호출 규약을 조율하는데 특별한 관심을 가져야 한다. 단일 프로그래밍 언어를 사용하는 프로그램일지라도 여러 개의 호출 규약을 사용할 수도 있고, 코드 최적화를 위해 컴파일러가 선택하거나 프로그래머가 지정하는 경우도 있다.

On different platforms

  • 68k
  • x86
  • PowerPC
  • MIPS
  • SPARC
  • ARM (A32)
  • ARM (A64)
  • SuperH
  • IBM 1130
  • IBM System/360
  • Threaded code

Favorite site