开发服务器

为分布式应用程序创建服务器程序时,必须使用 MIDL 编译器生成的头文件和服务器存根。 有关详细信息,请参阅 开发接口。 将头文件包含在服务器 C 程序文件中。 使用构成应用程序的 C 源文件编译服务器存根。 将生成的对象文件与导入库链接在一起。 下图演示了此过程。

为分布式应用程序创建服务器程序的过程

如图中的示例所示,使用了名为 MyApp.idl 的 MIDL 文件来定义接口。 MIDL 编译器使用 MyApp.idl 生成MyApp_s.c 和 MyApp.h。 它还为客户端存根生成 C 源文件,但这与此特定讨论无关。 在本例中,服务器程序的 C 源文件 (Mysrvr.c) 必须包含 Myapp.h 文件。 它还需要包含 Rpc.h 和 Rpcndr.h 文件。

服务器应用程序在两个文件中开发:Mysrvr.c 和 Rprocs.c。 文件 Mysrvr.c 包含启动和运行服务器程序所需的函数。 服务器程序提供的远程过程包含在文件 Rprocs.c 中。

Mysrvr.c 和 Rprocs.c 文件与 Myapp_s.c 一起编译,以生成对象文件。 然后,对象文件与 RPC 运行时库以及它们可能需要的任何其他库链接。 结果是名为 Mysrvr.exe 的可执行服务器程序。

如果不在 Open Software Foundation (OSF) 兼容模式 (/osf) 编译 IDL 文件,则服务器程序必须提供用于分配内存的函数和用于解除分配内存的函数。 对于 Windows 2000 及更高版本的 Windows,建议的模式为 /Oicf。 有关详细信息,请参阅 如何分配和解除分配内存以及 指针和内存分配