Поддержка библиотек для смешанных сборок
Visual C++ поддерживает использование стандартной библиотеки C++, библиотеки среды выполнения C (CRT), ATL и MFC для приложений, скомпилированных с помощью /clr (компиляция среды CLR). Это позволяет существующим приложениям, используюющим эти библиотеки, также использовать платформа .NET Framework функции.
Внимание
Параметры компилятора /clr:pure и /clr:safe компилятора устарели в Visual Studio 2015 и не поддерживаются в Visual Studio 2017.
Эта поддержка включает следующие библиотеки DLL и импорта:
- Msvcmrt[d].lib, если компилируется с / clr. Смешанные сборки ссылаются на эту библиотеку импорта.
Эта поддержка обеспечивает несколько связанных преимуществ:
Стандартная библиотека CRT и C++ доступны для смешанного кода. Предоставленная стандартная библиотека CRT и C++ не являются проверяемыми; В конечном счете вызовы по-прежнему направляются в ту же библиотеку CRT и C++ standard, что и вы используете из машинного кода.
Исправлена единая обработка исключений в смешанных образах.
Статическая инициализация переменных C++ в смешанных изображениях.
Поддержка переменных для каждого приложения и переменных для каждого процесса в управляемом коде.
Устраняет проблемы блокировки загрузчика, применяемые к смешанным БИБЛИОТЕКАм DLL, скомпилированных в Visual Studio 2003 и более ранних версиях.
Кроме того, эта поддержка представляет следующие ограничения:
- Для кода, скомпилированного с помощью /clr, поддерживается только модель DLL CRT. Статические библиотеки CRT не поддерживают сборки /clr .