MIDL 编译器处理 IDL 文件和可选的应用程序配置文件(ACF)以生成一组输出文件。 IDL 文件的接口属性列表中指定的属性确定编译器是生成 RPC 接口的源文件还是为自定义 OLE 接口生成源文件。
切换选项
midl [command-line-switch [switch-options]] filename
-
命令行开关
-
指定 MIDL 编译器命令行开关。 开关可以按任意顺序显示。
-
开关选项
-
指定与每个开关关联的选项。 每个 MIDL 编译器开关的引用条目中描述了有效选项。
-
文件名
-
指定 IDL 文件的名称。 此文件通常具有扩展名 .idl,但它可以有另一个或没有扩展名。
言论
以下列表显示了为名为 Name.idl 的 IDL 文件生成的文件的默认名称。 可以使用命令行开关替代这些默认名称。 请注意,IDL 文件的名称可以具有除 .idl 以外的扩展名,或者根本不具有扩展名。
默认情况下(即,如果接口属性列表不包含 对象 或 本地 属性),编译器将为 RPC 接口生成以下文件:
- 客户端存根 (name_c.c)
- 服务器存根 (name_s.c)
- 头文件 (name.h)
当 对象 属性出现在接口属性列表中时,编译器将为 COM 接口生成以下文件:
- 接口代理文件 (name_p.c)
- 接口头文件 (name.h)
- 接口 UUID 文件 (name_I.c)
当 本地 属性出现在接口属性列表中时,编译器仅生成接口头文件 Name.h。
随Microsoft RPC 一起提供的 MIDL 编译器根据需要调用 C 预处理器来处理 IDL 文件。 它不会自动调用 C 编译器来编译生成的文件。
注意
随 Microsoft RPC 提供的 MIDL 编译器使用与 DCE IDL 编译器不同的命令行语法。
MIDL 编译器切换 /env、/server、/sstub,/out 影响服务器存根文件。
从 MIDL 版本 6.0.359 开始,MIDL 编译器的默认命令行选项为 /Oicfâ /robust。 若要禁用 /robust,请指定 /no_robust 选项。
头文件
头文件包含 IDL 文件中声明的所有数据类型和作的定义。 头文件必须由调用定义的作、实现定义的作或作定义的类型的所有应用程序模块包含。
MIDL 编译器切换 /header,/out 影响头文件。