softfloat — 부동소수점 소프트웨어 에뮬레이션 호출 규약

softfloat — 부동소수점 소프트웨어 에뮬레이션 호출 규약

ARM 아키텍처를 쓰다 보면 부동소수점 계산이 없는 환경이나, 소프트웨어로 실수 연산을 흉내 내야 하는 상황이 생겨요. softfloat 한정자는 바로 그런 때 ARM용으로 쓰는 특별한 지정자예요.

출처: softfloat - Free Pascal Reference

본문

softfloat 한정자는 ARM 아키텍처에서만 의미를 가져요. 소프트웨어로 에뮬레이션되는 부동소수점 지원이 활성화되어 있을 때, 부동소수점 값을 전달하는 데 플랫폼 고유의 호출 규약을 사용하라고 컴파일러에게 알려주는 역할이죠.

다만 모든 플랫폼에서 지원되는 건 아니에요. 현재는 ARM에서만 지원되고, 그 외 아키텍처에서는 이 한정자를 써도 의미가 없어요.

더 알아보기

  • stdcall — 스택에 인자를 오른쪽에서 왼쪽으로 밀어 넣는 호출 규약
  • winapi — 플랫폼에 따라 stdcall/cdecl을 자동 선택하는 호출 규약
  • varargs — 가변 인자를 받는 C 프로시저용 한정자