Распределенные вычисления: технология Microsoft RPC. Часть1. Фертиков В.В. - 28 стр.

UptoLike

Составители: 

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