/CLRIMAGETYPE(指定 CLR 映像的类型)
/CLRIMAGETYPE:{IJW|PURE|SAFE}
备注
链接器接受本机对象以及使用 /clr、/clr:pure 或 /clr:safe 编译的 MSIL 对象。在同一个生成中传递混合对象时,默认情况下结果输出文件的可验证性级别等于输入模块的最低可验证性级别。例如,如果将 safe 和 pure 模块传递给链接器,则输出文件为 pure。如果传递本机映像和混合模式映像(使用 /clr 编译),则结果映像为混合模式映像。
/CLRIMAGETYPE 允许您根据需要指定较低级别的可验证性。
以下相关信息请参见 /clr(公共语言运行时编译):当安全映像加载 32 位资源时,使用 /CLRIMAGETYPE 指定安全可执行文件在 64 位操作系统的 WOW64 下运行。
当在 64 位操作系统上运行使用 /clr 或 /clr:pure 编译的 .exe 时,应用程序将在 WOW64 下运行,它允许 32 位应用程序在 64 位操作系统上运行。默认情况下,使用 /clr:safe 编译的 .exe 将使用操作系统的 64 位支持运行。但是,安全应用程序可以加载 32 位组件。在此情况下,在操作系统的 64 位支持下运行的安全映像将在加载 32 位应用程序时失败。为了确保安全映像在 64 位操作系统上加载 32 位应用程序时继续运行,必须使用 /CLRIMAGETYPE(指定 CLR 映像的类型) 链接器选项更改元数据 (.corflags),将其标记为在 WOW64 下运行(并以您输入的符号代替):
cl /clr:safe t.cpp /link /clrimagetype:pure /entry:?main@@$$HYMHXZ /subsystem:console
有关如何确定文件的 CLR 映像类型的信息,请参见 /CLRHEADER。
在 Visual Studio 开发环境中设置此链接器选项
打开项目的**“属性页”**对话框。有关详细信息,请参见如何:打开项目属性页。
展开**“配置属性”**节点。
展开**“链接器”**节点。
选择**“高级”**属性页。
修改**“CLR 映像类型”**属性。
以编程方式设置此链接器选项
- 请参见 CLRImageType。