Share via


부호 있는 형식 및 부호 없는 형식(MIDL)

서명된 형식과 서명되지 않은 형식에 서로 다른 기본값을 사용하는 컴파일러로 인해 분산 애플리케이션에서 소프트웨어 오류가 발생할 수 있습니다. 문자 형식을 부호 있거나 서명되지 않은 문자 형식으로 명시적으로 선언하여 이러한 문제를 방지할 수 있습니다. DCE IDL 컴파일러가 서명된 키워드(keyword) 인식하지 않습니다. 따라서 MIDL 컴파일러 /osf 스위치를 사용하는 경우 이 기능을 사용할 수 없습니다.

MIDL은 대상 C 컴파일러의 char 형식과 동일한 기본 기호를 사용하도록 작은 형식을 정의합니다. 컴파일러에서 char 가 서명되지 않은 것으로 가정하면 small 도 서명되지 않은 것으로 정의됩니다. 많은 C 컴파일러를 사용하면 기본값을 명령줄 옵션으로 변경할 수 있습니다. 예를 들어 Microsoft Visual C++ 개발 환경에서 /J 명령줄 옵션은 char의 기본 기호를 부호에서 서명되지 않음으로 변경합니다.

MIDL 컴파일러 명령줄 스위치 /char를 사용하여 charsmall 형식의 변수 기호를 제어 할 수도 있습니다. 이 스위치를 사용하면 컴파일러에서 사용하는 기본 기호를 지정할 수 있습니다. MIDL 컴파일러는 생성된 헤더 파일에서 C 컴파일러 기본 형식과 일치하지 않는 모든 char 형식의 기호를 명시적으로 선언합니다.