Suporte de biblioteca para Assemblies mistos
Visual C++ oferece suporte para o uso da biblioteca C++ padrão, a biblioteca de tempo de execução comum (CRT), ATL e MFC para aplicativos compilados com /CLR (common Language Runtime Compilation). Isso permite que aplicativos existentes que usam essas bibliotecas para usar.Recursos do NET Framework também.
Esse suporte apresenta as seguintes bibliotecas DLL e importar novas:
Msvcmrt [d]. lib se você compilar com o /clr. Links de assemblies misto para esta biblioteca de importação.
Msvcm90. dll da [d] e. lib do Msvcurt [d] se você compilar com /clr: puro. A DLL é um assembly misto, fornecendo suporte de tempo de execução C (CRT) gerenciado e é parte de um assembly gerenciado instalado no cache global de assemblies (GAC). Assemblies puro o link para essa biblioteca de importação e acabam sendo ligado ao Msvcm90.dll.
Esse suporte fornece que vários benefícios de relacionados:
A CRT e a biblioteca C++ padrão estão disponíveis para código misto e puro. O CRT e a biblioteca de C++ padrão fornecida não são verificáveis; em última análise, suas chamadas ainda são roteadas aos mesmos CRT e biblioteca C++ padrão como você está usando a partir do código nativo.
Corrija o tratamento de exceção unificada em imagens puros e mistos.
Estática inicialização de variáveis de C++ em imagens puras e mistas.
Suporte a variáveis por AppDomain e por processo em código gerenciado.
Resolve os problemas de bloqueio de carregador aplicado às DLLs mistas no Visual C++.NET e Visual C++.NET 2003.
Além disso, esse suporte apresenta as seguintes limitações:
O modelo de DLL do CRT é suportado (tanto para o código compilado com /clr ou /clr: puro).
Você não pode misturar objetos puros e mistos em uma única imagem, se esses objetos para usar as bibliotecas do Visual C++ (porque todos os objetos devem ser puros em uma imagem pura). Se você fizer isso, você pode receber erros de tempo de link.
Você deve atualizar o common language runtime (CLR) para a versão atual, pois ele não é garantido para trabalhar com versões anteriores. Construído com essas alterações de código não será executado na versão 1. x do CLR.