MS_ABI_CDecl 함수 수식자
MS_ABI_CDecl 함수 수식자
MS_ABI_Default와 비슷하지만 'array of const' 처리만 다르게 하는 수식자가 MS_ABI_CDecl이에요. 마이크로소프트 x86-64 호출 규약을 쓰되, 일부 매개변수를 C의 varargs 방식으로 해석하도록 해요.
본문
MS_ABI_CDecl 수식자는 컴파일러가 Microsoft 버전의 x86-64 호출 규약을 사용해야 한다는 것을 나타내기 위해 사용해요. 한 가지 예외가 있는데, **'array of const'**를 일반적인 파스칼 array of const 대신 cdecl varargs 매개변수로 해석한다는 점이에요.
즉, 기본 Microsoft ABI 규약을 따르면서도 가변 인자 처리만 C 스타일처럼 동작시키고 싶을 때 이 수식자를 선택하면 돼요. MS_ABI_Default와 마찬가지로 x86-64 플랫폼에서 의미가 있어요.
더 알아보기
MS_ABI_Default수식자- Free Pascal Reference의 프로시저·함수 수식자 섹션
- cdecl varargs와 pascal array of const의 차이