Параметр /char

Параметр /char помогает обеспечить правильную работу компилятора MIDL и компилятора C для всех типов char и small .

midl /char { signed | unsigned | ascii7 }

Параметры переключения

Подписал

Указывает, что тип компилятора C по умолчанию для char является подписанным. Все вхождения char , не сопровождающиеся спецификацией знака, создаются как символ без знака.

Без знака

Указывает, что тип компилятора C по умолчанию для char не подписан. Все варианты использования малых размеров, не сопровождающиеся спецификацией знака, создаются как маленькие со знаком.

ascii7

Указывает, что все значения символов должны передаваться в созданные файлы без определенного знака ключевое слово. Все варианты использования малых размеров, не сопровождающиеся спецификацией знака, создаются как небольшие.

Комментарии

По определению символ MIDL не имеет знака. "Small" определяется в терминах char (#define small char), а MIDL small — подписывается.

Параметр /char направляет компилятор MIDL на указание явных объявлений со знаком или без знака в созданных файлах, если объявление знака C-compiler конфликтует с MIDL по умолчанию для этого типа.

Помните, что компилятор MIDL создает заглушки в виде исходного кода C, который необходимо скомпилировать как часть клиентских и серверных программ. Некоторые компиляторы используют подписанный символ везде, где данные char указаны в исходном коде. Исходный код заглушки, создаваемый компилятором MIDL, обрабатывает все данные char как символ без знака. Если компилятор MIDL просто сгенерировал все данные char в IDL-файле как данные char в заглушках, компиляторы, использующие подписанный символ для данных char , вызовут конфликт в исходном коде заглушки.

Параметр командной строки /char предназначен для разрешения этих потенциальных конфликтов. Он сохраняет все данные, указанные в виде char в IDL-файле, как неподписанный char в исходном коде заглушки. Он также сохраняет небольшие данные как подписанные.

В следующей таблице перечислены созданные типы.

параметр midl /char Сгенерированный тип символа Созданный малый тип
midl /char signed unsigned char small
midl /char unsigned char подписанный маленький
midl /char ascii7 char small

 

Параметр /char signed указывает, что символ c-компилятора и небольшие типы подписаны. Чтобы соответствовать значению по умолчанию MIDL для char, компилятор MIDL должен преобразовать все варианты использования char , не сопровождающиеся спецификацией знака, в символ без знака. Малый тип не изменяется, так как этот C-компилятор по умолчанию соответствует значению MIDL по умолчанию для small.

Параметр /char unsigned указывает, что тип char C-компилятора не подписан. Компилятор MIDL преобразует все варианты использования small , не сопровождающиеся спецификацией знака, в подписанныйsmall.

Параметр ascii7 указывает, что в типы символов явно не добавляется спецификация знака. Тип small создается как маленький.

Чтобы избежать путаницы, следует по возможности использовать явные спецификации знаков для символов char и небольших типов в IDL-файле. Обратите внимание, что использование явно подписанных типов char в IDL-файле не поддерживается В DCE IDL. Поэтому эта функция недоступна при компиляции с параметром MIDL /osf .

Дополнительные сведения, связанные с /char, см. в разделе small.

Примеры

midl /char signed filename.idl

midl /char unsigned filename.idl

midl /char ascii7 filename.idl

См. также раздел

Char

Общий синтаксис командной строки MIDL

/Osf

Маленький