/c_ext switch
自 MIDL 编译器版本 3.0 起,此开关已过时。 但是,使用 c_ext 开关不会生成编译器错误,因此不必从现有生成文件中删除对 /ms_ext 或 /c_ext 的 引用。
midl /c_ext
此开关没有参数。
现在默认提供以下功能:
- 许多现有头文件定义具有限定符的类型,例如 far 和 stdcall,这些类型不属于 DCE IDL。 这些编译器 (,而 DCE 兼容模式下的 MIDL 编译器在尝试处理这些限定符时) 生成错误。 通过 MIDL 编译器,可以编译包含这些限定符的 IDL 文件。 类型限定符不会影响在网络上传输数据的方式。
- 可以省略 [in] 或 [out] 等方向属性。
默认模式下支持以下 C 语言扩展:
- 结构和联合中的位字段
- 以两个斜杠字符开头的注释 (//)
- 外部声明
- 参数列表中包含省略号的过程 (...)
- 在 32 位平台上, int 是本机 32 位基类型;在 16 位平台上,可识别 int ,但不是可远程处理的类型
- 类型 void * 未用于远程操作
- 类型限定符(包括具有符合 ANSI 前缀的窗体)包含两个下划线字符: cdecl、 __cdecl、 const、 __const、 export、 __export、 far、 __far、 loadds、 __loadds、 near、 __near、 pascal、 __pascal、 stdcall、 __stdcall、 volatile 和 __volatile。
有关声明限定符的详细信息,请参阅 Microsoft C/C++ 文档。