/char 스위치
/char 스위치를 사용하면 MIDL 컴파일러와 C 컴파일러가 모든 char 및 small 형식에 대해 올바르게 작동하도록 할 수 있습니다.
midl /char { signed | unsigned | ascii7 }
-
서명
-
char의 기본 C 컴파일러 형식이 서명되도록 지정합니다. 부호 사양과 함께 제공되지 않는 char 의 모든 발생은 부호 없는 char로 생성됩니다.
-
부호 없는
-
char의 기본 C 컴파일러 형식이 서명되지 않음을 지정합니다. 부호 사양과 함께 제공되지 않는 작은 의 모든 사용은 부호 있는 작은 것으로 생성됩니다.
-
ascii7
-
특정 기호 키워드(keyword) 없이 생성된 파일에 모든 char 값을 전달하도록 지정합니다. 부호 사양과 함께 제공되지 않는 작은 의 모든 사용은 작게 생성됩니다.
정의에 따라 MIDL 문자 는 서명되지 않습니다. "Small"은 char (#define small char)로 정의되고 MIDL small 은 서명됩니다.
/char 스위치는 C-컴파일러 기호 선언이 해당 형식의 MIDL 기본값과 충돌할 때 생성된 파일에서 명시적 서명 또는 서명되지 않은 선언을 지정하도록 MIDL 컴파일러에 지시합니다.
MIDL 컴파일러는 클라이언트 및 서버 프로그램의 일부로 컴파일해야 하는 C 소스 코드로 스텁을 생성합니다. 일부 컴파일러에서는 소스 코드에 지정된 char 데이터가 있는 모든 곳에서 서명 된 char 를 사용합니다. MIDL 컴파일러에서 생성하는 스텁 소스 코드는 모든 char 데이터를 부호 없는 char로 처리합니다. MIDL 컴파일러가 단순히 IDL 파일의 모든 char 데이터를 스텁의 char 데이터로 생성한 경우 char 데이터에 서명된 char를 사용하는 컴파일러에서 스텁 소스 코드에서 충돌이 발생합니다.
/char 명령줄 스위치의 목적은 이러한 잠재적 충돌을 resolve 것입니다. IDL 파일에서 char 로 지정된 모든 데이터를 스텁 소스 코드에서 서명되지 않은 char 로 유지합니다. 또한 작은 데이터를 서명된 대로 유지 관리합니다.
다음 표에는 생성된 형식이 요약되어 있습니다.
midl /char 옵션 | 생성된 char 형식 | 생성된 작은 형식 |
---|---|---|
midl /char signed | unsigned char | small |
midl /char unsigned | char | 서명된 작은 |
midl /char ascii7 | char | small |
/char signed 옵션은 C-compiler char 및 small 형식이 서명되었음을 나타냅니다. CHAR의 MIDL 기본값과 일치하려면 MIDL 컴파일러가 부호 사양과 함께 제공되지 않는 char의 모든 사용을 부호 없는 char로 변환해야 합니다. 이 C 컴파일러 기본값은 SMALL 의 MIDL 기본값과 일치하므로 작은 형식은 수정되지 않습니다.
/char unsigned 옵션은 C-compiler char 형식이 서명되지 않음을 나타냅니다. MIDL 컴파일러는 부호 사양과 함께 제공되지 않는 small의 모든 사용을 부호 있는 small로 변환합니다.
ascii7 옵션은 char 형식에 명시적 기호 사양이 추가되지 않음을 나타냅니다. 작은 형식은 작은 형식으로 생성됩니다.
혼동을 방지하려면 IDL 파일에서 가능하면 char 및 small 형식에 대해 명시적 기호 사양을 사용해야 합니다. IDL 파일에서 명시적으로 서명된 문자 형식의 사용은 DCE IDL에서 지원되지 않습니다. 따라서 MIDL /osf 스위치로 컴파일할 때는 이 기능을 사용할 수 없습니다.
/char와 관련된 자세한 내용은 small을 참조하세요.
midl /char signed filename.idl
midl /char unsigned filename.idl
midl /char ascii7 filename.idl