/CLRIMAGETYPE (указание типа образа среды CLR)
/CLRIMAGETYPE:{IJW|PURE|SAFE}
Заметки
Компоновщик принимает как объекты в машинном коде, так и объекты MSIL, скомпилированные при помощи параметра /clr, /clr:pure или /clr:safe. При передаче смешанных объектов в одном построении проверяемость результирующего выходного файла по умолчанию будет соответствовать наименьшему уровню проверяемости входных модулей. Например, если передать компоновщику безопасный модуль и чистый модуль, то файл вывода будет чистым. Если передать образ в машинном коде и образ смешанного режима (скомпилированный при помощи параметра /clr), то в итоге будет получен образ смешанного режима.
Параметр /CLRIMAGETYPE позволяет указать более низкий уровень проверяемости, если это необходимо.
Дополнительные сведения об использовании параметра /CLRIMAGETYPE для указания того, что безопасный исполняемый файл должен выполняться в WOW64 под управлением 64-битной операционной системы, когда образ загружает 32-битный ресурс, см. в разделе /clr (компиляция CLR).
При запуске EXE-файла, скомпилированного с помощью параметра /clr или /clr:pure, в 64-битной операционной системе приложение будет запущено в WOW64, что позволит 32-битному приложению выполняться в 64-битной операционной системе. EXE-файл, скомпилированный при помощи параметра /clr:safe, будет по умолчанию запущен с 64-битной поддержкой операционной системы. В то же время безопасное приложение может загрузить 32-битный компонент. В этом случае безопасный образ, выполняющийся при 64-битной поддержке операционной системы, завершится с ошибкой при загрузке 32-битного приложения. Чтобы безопасный образ продолжал выполняться при загрузке 32-битного объекта в 64-битной операционной системе, необходимо использовать параметр компоновщика /CLRIMAGETYPE (указание типа образа среды CLR) для изменения метаданных (CORFLAGS), помечая образ для запуска под управлением WOW64 и подставляя собственный входной символ:
cl /clr:safe t.cpp /link /clrimagetype:pure /entry:?main@@$$HYMHXZ /subsystem:console
Дополнительные сведения об определении типа образа среды CLR файла см. в разделе /CLRHEADER.
Установка данного параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Разверните узел Свойства конфигурации.
Разверните узел Компоновщик.
Выберите страницу свойств Дополнительно.
Измените значение свойства Тип образа среды CLR.
Установка данного параметра компоновщика программным способом
- См. раздел CLRImageType.