/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