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


Переключатель /Os

Параметр /Os задает смешанный метод для маршалирования кода заглушки, передаваемого между клиентом и сервером.

midl /Os

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

Этот параметр не имеет параметров.

Комментарии

Перед выбором метода маршалинга кода необходимо учесть важные вопросы. Эти проблемы касаются размера и производительности. Компилятор MIDL предоставляет два метода маршалинга кода: смешанный режим (/Os) и полностью интерпретируемый (/Oi). Полностью интерпретируемый метод маршалирует данные полностью в автономном режиме. Это значительно уменьшает размер кода заглушки, но также приводит к снижению производительности.

Используйте режим midl по умолчанию /Oicf /robust для всех целей, кроме обратной совместимости. Этот режим является безопасным стандартным режимом компилятора MIDL; любой другой режим следует использовать только после тщательного рассмотрения последствий для безопасности, понимая, что будущие расширения будут реализованы только для режима по умолчанию. В смешанном режиме компилятор маршалирует некоторые параметры в сгенерированных заглушках. Хотя это приводит к увеличению размера заглушки, она также может повысить производительность.

MIDL обеспечивает полную поддержку многомерных массивов и указателей многомерного размера только в режиме /Oicf . В режимах /Os и /Oi компилятор поддерживает простые варианты, например массивы фиксированного размера. Использование многомерных массивов в режимах /Os или /Oi может привести к неправильному маршалингу параметров. Корпорация Майкрософт рекомендует использовать параметр командной строки /Oicf , когда интерфейс определяет параметры, которые являются многомерными массивами или указателями многомерного размера.

Чтобы дополнительно определить уровень градации в способе маршалинга данных, эта версия RPC предоставляет атрибут [optimize]. Этот атрибут используется в качестве атрибута интерфейса ACF или атрибута операции для выбора режима маршалинга.

Примеры

midl /Os filename.idl

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

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

/Эй

Оптимизировать

/no_format_opt