Partilhar via


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.

Consulte também

Conceitos

Mistos de Assemblies (nativos e gerenciados)