Поделиться через


Подписанные и неподписанные типы (RPC)

Компиляторы, использующие разные значения по умолчанию для подписанных и неподписанных типов, могут вызывать ошибки программного обеспечения в распределенном приложении. Вы можете избежать этих проблем, явно объявив типы символов как подписанные или неподписанные.

MIDL определяет малый тип, который принимает тот же знак по умолчанию, что и тип char в целевом компиляторе C. Если компилятор предполагает, что char является неподписанным, small также будет определен как неподписанный. Многие компиляторы C позволяют изменить значение по умолчанию в качестве параметра командной строки. Например, параметр командной строки компилятора Microsoft C /J изменяет знак char по умолчанию с signed на unsigned.

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