Я просто напишу статью MSDN Library под названием «Как: перейти на / clr: safe
Visual C ++ может генерировать проверяемые компоненты с помощью / clr: safe, что заставляет компилятор генерировать ошибкидля каждой не проверяемой конструкции кода.
Следующие проблемы приводят к ошибкам проверяемости:
- Собственные типы. Даже если он не используется, объявление собственных классов, структур, указателей, или массивы будут препятствовать компиляции.
- Глобальные переменные
- Вызовы функций в любую неуправляемую библиотеку, включая вызовы функций времени выполнения общего языка
- Проверяемая функция не может содержать оператор static_cast для down-casting. Оператор static_cast может использоваться для приведения между примитивными типами, но для приведения вниз необходимо использовать safe_cast или приведение в стиле C (которое реализовано как safe_cast).
- Проверяемая функция не можетсодержит оператор reinterpret_cast (или любой эквивалент в стиле C).
- A veriфункция fiable не может выполнять арифметику для interior_ptr.Он может только присваивать ему и разыменовывать его.
- Проверяемая функция может только бросать или перехватывать указатели на ссылочные типы, поэтому типы значений должны быть помещены в квадрат перед броском.
- Проверяемая функция может вызывать только проверяемые функции (например, запрещены вызовы общеязыковой среды выполнения, включая AtEntry / AtExit и поэтому глобальные конструкторы запрещены).
- Проверяемый класс не может использовать Explicit.
- При сборке EXE главная функция не может объявлять какие-либо параметры, поэтому для получения аргументов командной строки необходимо использовать GetCommandLineArgs.
- Выполнение не виртуального вызова виртуальной функции.
Кроме того, в проверяемом коде нельзя использовать следующие ключевые слова:
- неуправляемый и пакетpragmas
- голый и выравнивающий __declspec модификаторы
- __ asm
- __ на основе
- __ try и __except
Я считаю, что вы будете держатькакое-то время занятНет волшебной палочки, чтобы помахать родным C ++ в проверяемый код.Вы уверены, что это стоит вложений?