Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Параметр /osf обеспечивает строгую совместимость с OSF DCE.
midl /osf
Параметры переключения
Этот параметр не имеет параметров.
Комментарии
Используйте этот параметр, если приложению требуется строгая совместимость с OSF DCE по причинам переносимости.
В режиме /osf пакет RpcSs автоматически включается при использовании полных указателей, аргументов, требующих выделения памяти, или при использовании атрибута enable_allocate . Это означает, что вам не нужно предоставлять функции midl_user_allocate и midl_user_free в клиентском и серверном приложении.
Следующие расширенные возможности Майкрософт недоступны при компиляции с параметром /osf :
- Абстрактные деклараторы (неименованные параметры) в IDL-файле.
- Определения интерфейсов для COM-объектов.
- Имена интерфейсов с более чем 17 символами.
- Атрибуты только MIDL, такие как wire_marshal, user_marshal и расширения typelib (ODL).
- Использование ключевых слов ACF в IDL-файле (параметр MIDL /app_config ).
- Статические функции обратного вызова на клиенте.
- Асинхронный атрибут.
- cpp_quote и #pragma midl_echo.
- wchar_t расширенные типы символов, константы и строки.
- инициализация перечисления (разреженные перечислители).
- спецификация размера только для out-only.
- Смешанные указатели и массивы размеров.
- Выражения, используемые для описателей размера и дискриминатора.
- Явный дескриптор параметров в любой позиции в списке аргументов. В режиме /osf компилятор MIDL ищет явный дескриптор привязки в качестве первого параметра. Если первый параметр не является дескриптором привязки и указан один или несколько дескрипторов контекста, в качестве дескриптора привязки используется крайний левый дескриптор контекста. Если первый параметр не является дескриптором и нет дескрипторов контекста, процедура использует неявную привязку с помощью атрибута ACF implicit_handle или auto_handle.
- Наследование типа атрибута указателя. OSF DCE не допускает ненаписанные указатели. Поэтому в режиме /osf каждый IDL-файл должен определять атрибуты для своих указателей. Если какой-либо указатель не имеет явного атрибута, IDL-файл должен иметь спецификацию pointer_default , чтобы задать тип указателя.
- Несколько интерфейсов в IDL-файле.
- Определения за пределами блока интерфейса.
- Квалификаторы типов, например far и stdcall.
- Пропуск атрибутов направления.
Следующие расширения языка C/C++ недоступны при компиляции с параметром /osf :
- Битовые поля в структурах и объединениях.
- Однострочные комментарии, разделенные двумя символами косой черты (//).
- Внешние объявления.
- Процедуры с многоточием в списке параметров.
- Введите int.
- Тип void * (кроме атрибута context_handle ).
- Квалификаторы типов, включая форму с префиксом ANSI, содержат два символа подчеркивания: __cdecl, cdecl, const, const, __export, export, __far, far, __loadds, loadds, __near, near, __pascal, pascal, __stdcall, stdcall, __volatile и volatile.
- Любое предупреждение # pragma или #pragma комментарий.
- Сериализация типов.
- Тип данных __int3264 .
- Параметр /protocol и синтаксис передачи ndr64.
Примеры
midl /osf filename.idl
midl /osf /app_config имя_файла.idl
См. также раздел