/target 开关

/target 开关使 MIDL 编译器能够启用仅在最新版本的 Windows 上可用的优化。 /target 开关会自动激活其他开关。

midl /target level

切换选项

level

指定目标级别,例如 NT50、NT51、NT60、NT61、NT62 或 NT100。

备注

/target 开关根据操作系统自动激活其他交换机,如下表所示:

操作系统 /target level 开关已激活
Windows 2000 NT50 /Oicf /error all /robust
Windows XP NT51 /Oicf /error all /robust /protocol all
Windows Vista NT60 /Oicf /error all /robust /protocol all
Windows 7 NT61 /Oicf /error all /robust /protocol all
Windows 8 NT62 /Oicf /error all /robust /protocol all
Windows 10 NT100 /Oicf /error all /robust /protocol all

为了确保存根在 /target 开关指定的系统上运行,当存在仅在较新版本的 Windows 上可用的功能时,MIDL 会发出错误。 下表指定启用该功能所需的最低 /target 级别。 较高的目标级别包括较低目标级别中的所有功能。

所需的最低 /目标级别 功能
NT50 /鲁 棒
[message]
[async]
[async_uuid]
[notify] 在 /Oicf 模式下
在 /Oicf 模式下的 [encode] 或 [decode]
NT51 /protocol 64 位支持
[partial_ignore]
[force_allocate]
NT60 强制复杂结构封送
数组或结构中的上下文句柄
[range] 对未化字符串的支持
[type_strict_context_handle]
NT61 对于方法少于 32 个的接口的直接 COM 存根调用,需要将 COM 存根与 OLE32.DLL链接。
NT62 ARM 支持
WinRT 支持
NT100 [system_handle] 支持

示例

midl /target NT50

另请参阅

常规 MIDL 命令行语法

/osf