ВУЗ:
Составители:
28
проделать с использованием широко распространенных сред визуального про-
граммирования на C++: Microsoft Visual C++ или Borland C++ Builder, в состав
поставки которых входит компилятор MIDL.
Если не ставить цели интегрировать процесс компиляции IDL-файлов в
среду разработки, компилятор MIDL можно запускать просто из командной
строки, как показано в предыдущих разделах . При этом необходимо помнить,
что компилятор MIDL реализован как динамическое приложение и может по-
требовать установки определенных библиотек DLL. Полученные исходные
файлы для стабов и заголовочный файл затем необходимо добавить в соответ-
ствующие программные проекты для продолжения работы в среде визуального
программирования.
Так рассматриваемый в данном руководстве пример реализуется в виде
двух консольных приложений : клиентского и серверного . Компиляция примера
может потерпеть неудачу из- за смены версий компилятора MIDL, в результате
чего изменяются соглашения относительно генерируемых им идентификаторов.
Например , MIDL из поставки Visual C++ 6.0 изменяет имя структуры данных
регистрируемого на сервере интерфейса по сравнению с использованным в на-
шем примере идентификатором hello_ServerIfHandle. Затруднения при
компоновке проектов могут возникать из - за отсутствия указаний относительно
библиотечных файлов RPC-библиотек времени выполнения. Например , для по-
ставки Visual C++ 6.0, необходимо добавить в установки проекта (окно «Project
Settings» , вкладка «Link» ) имя библиотечного модуля rpcrt4.lib. Для C++
Builder, возможно , потребуется указать путь к библиотечным модулям RPC
(окно «Project Options» , вкладка «Directories/Conditionals» ). Например , при
стандартной установке C++ Builder 5.0 эти модули помещаются в каталог
\Lib\PSDK .
Заключение: основные шаги при разработке RPC при -
ложений
Распределенное приложение состоит из исполняемых программ на стороне
клиента и на стороне сервера.
Процесс разработки с использованием RPC включает, в дополнение к
стандартному процессу разработки, два шага. Вы должны определить интер -
фейс для удаленного вызова процедуры в IDL и ACF файлах , которые компи-
лируются MIDL. Компилятор MIDL производит исходные файлы на C и файлы
стабов. Далее следует обычный для любого приложения процесс разработки:
компилируются файлы языка C и компонуются объектные модули с библиоте-
ками для создания исполняемых программ.
Для распределенного приложения «Привет, мир» , разработчик создает
следующие исходные файлы:
• HELLOC.C
• HELLOS.C
• HELLOP.C
• HELLO.IDL
28 проделать с использованием широко распространенных сред визуального про- граммирования на C++: Microsoft Visual C++ или Borland C++ Builder, в состав поставки которых входит компилятор MIDL. Если не ставить цели интегрировать процесс компиляции IDL-файлов в среду разработки, компилятор MIDL можно запускать просто из командной строки, как показано в предыдущих разделах. При этом необходимо помнить, что компилятор MIDL реализован как динамическое приложение и может по- требовать установки определенных библиотек DLL. Полученные исходные файлы для стабов и заголовочный файл затем необходимо добавить в соответ- ствующие программные проекты для продолжения работы в среде визуального программирования. Так рассматриваемый в данном руководстве пример реализуется в виде двух консольных приложений: клиентского и серверного. Компиляция примера может потерпеть неудачу из-за смены версий компилятора MIDL, в результате чего изменяются соглашения относительно генерируемых им идентификаторов. Например, MIDL из поставки Visual C++ 6.0 изменяет имя структуры данных регистрируемого на сервере интерфейса по сравнению с использованным в на- шем примере идентификатором hello_ServerIfHandle . Затруднения при компоновке проектов могут возникать из-за отсутствия указаний относительно библиотечных файлов RPC-библиотек времени выполнения. Например, для по- ставки Visual C++ 6.0, необходимо добавить в установки проекта (окно «Project Settings», вкладка «Link») имя библиотечного модуля rpcrt4.lib. Для C++ Builder, возможно, потребуется указать путь к библиотечным модулям RPC (окно «Project Options», вкладка «Directories/Conditionals»). Например, при стандартной установке C++ Builder 5.0 эти модули помещаются в каталог \Lib\PSDK . Заключение: основные шаги при разработке RPC при- ложений Распределенное приложение состоит из исполняемых программ на стороне клиента и на стороне сервера. Процесс разработки с использованием RPC включает, в дополнение к стандартному процессу разработки, два шага. Вы должны определить интер- фейс для удаленного вызова процедуры в IDL и ACF файлах, которые компи- лируются MIDL. Компилятор MIDL производит исходные файлы на C и файлы стабов. Далее следует обычный для любого приложения процесс разработки: компилируются файлы языка C и компонуются объектные модули с библиоте- ками для создания исполняемых программ. Для распределенного приложения «Привет, мир», разработчик создает следующие исходные файлы: • HELLOC.C • HELLOS.C • HELLOP.C • HELLO.IDL