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

UptoLike

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

19
void __RPC_FAR * __RPC_USER midl_user_allocate(size_t len)
{ return(malloc(len));
}
void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
{ free(ptr);
}
Сборка приложения клиента
Распределенное приложение требует, чтобы перед компиляцией и компо -
новкой исходного текста на C был сделан дополнительный подготовительный
шаг : компиляция IDL и ACF файлов с использованием компилятора MIDL. При
этом необходимо с самого начала обратить внимание на то , что результаты этой
компиляции зависят:
от версий операционной системы, которая будет строить приложение;
от операционной системы (систем ), в которой будут выполняться про-
граммы клиента и сервера;
от сетевой последовательности протоколов, которая будет использо-
ваться в реализации распределенного приложения .
Все эти условия определят версии используемых MIDL и C компиляторов,
версии заголовочных файлов, включаемых в приложения, и версии RPC-
библиотек времени выполнения, компонуемых с приложениями. Для простоты
мы примем , что этот первый пример использует одну и ту же операционную
систему Microsoft Windows NT как для построения, так и в качестве плат -
формы клиента и сервера, и что пример использует именованные каналы в ка-
честве последовательности протоколов.
MIDL компиляция
IDL файл HELLO.IDL и файл конфигурации приложения HELLO.ACF
компилируется с использованием компилятора MIDL:
# makefile, фрагмент
midl hello.idl
Компилятор MIDL генерирует файл заголовка HELLO.H и файл клиент-
ского стаба на языке C HELLO_C.C. (Компилятор MIDL также производит
файл серверного стаба HELLO_S.C, но мы пока его игнорируем .)
Компиляция C
Остальная часть процесса разработки знакома: компиляция исходных фай -
лов на языке C и компоновка их с RPC-библиотеками времени выполнения для
целевой платформы и всеми остальными библиотеками, требующимися для
приложения . Следующие команды компилируют пример клиентской програм -
мы:
                              19
void __RPC_FAR * __RPC_USER midl_user_allocate(size_t len)
{   return(malloc(len));
}

void __RPC_USER midl_user_free(void __RPC_FAR * ptr)
{   free(ptr);
}


    Сборка приложения клиента
    Распределенное приложение требует, чтобы перед компиляцией и компо-
новкой исходного текста на C был сделан дополнительный подготовительный
шаг: компиляция IDL и ACF файлов с использованием компилятора MIDL. При
этом необходимо с самого начала обратить внимание на то, что результаты этой
компиляции зависят:
    • от версий операционной системы, которая будет строить приложение;
    • от операционной системы (систем), в которой будут выполняться про-
        граммы клиента и сервера;
    • от сетевой последовательности протоколов, которая будет использо-
        ваться в реализации распределенного приложения.
    Все эти условия определят версии используемых MIDL и C компиляторов,
версии заголовочных файлов, включаемых в приложения, и версии RPC-
библиотек времени выполнения, компонуемых с приложениями. Для простоты
мы примем, что этот первый пример использует одну и ту же операционную
систему – Microsoft Windows NT – как для построения, так и в качестве плат-
формы клиента и сервера, и что пример использует именованные каналы в ка-
честве последовательности протоколов.

    MIDL компиляция
    IDL файл HELLO.IDL и файл конфигурации приложения HELLO.ACF
компилируется с использованием компилятора MIDL:

# makefile, фрагмент
midl hello.idl

    Компилятор MIDL генерирует файл заголовка HELLO.H и файл клиент-
ского стаба на языке C HELLO_C.C. (Компилятор MIDL также производит
файл серверного стаба HELLO_S.C, но мы пока его игнорируем.)

    Компиляция C
    Остальная часть процесса разработки знакома: компиляция исходных фай-
лов на языке C и компоновка их с RPC-библиотеками времени выполнения для
целевой платформы и всеми остальными библиотеками, требующимися для
приложения. Следующие команды компилируют пример клиентской програм-
мы: