Alterações no Visual C++ 2005 Libraries
As seções a seguir discutem as atualizações e alterações significativas nas bibliotecas que vêm com o Visual C++.
No modo misto, nativo construtores são chamados antes construtores gerenciado.Um único executável os construtores de todos os objetos originais globais serão chamados antes do construtor de qualquer objeto gerenciado global, independente de se os objetos nativo e gerenciados localizados na mesma unidade de compilação.
Portanto, os aplicativos depender de construtores gerenciado que está sendo chamadas antes de construtores nativo podem funcionar de maneira incorreta.
Se há dependências entre objetos global, você deve certificar-se de que existem somente dependências de objetos gerenciado para objetos nativo.A melhor maneira de garantir que um objeto é gerenciada ou nativa é colocá-lo em uma unidade de compilação que foi criada dessa maneira.
Visual C++ 2005, sistema autônomo bibliotecas de biblioteca C++ padrão e a ATL, MFC e CRT são conjuntos compartilhados lado a lado with manifestos.Da mesma forma, o compilador e vinculador configurações agora padrão usando de geração de manifestoMT.exe.Isso garantirá que todos os executáveis do Visual C++ tem um manifesto que faz referência a dependência de ATL e MFC CRT.Para obter informações detalhadas, consulte O Visual C++ Libraries como compartilhados assemblies Side-by-Side, Implantação (C++), e Criar c/c++ isolados de aplicativos e assemblies side-by-lado.
Se você usar makefiles para criar seus projetos, consulte Como: Incorporar um manifesto dentro de um aplicativo c/c++.
O Visual C++ 2005 oferece suporte ao uso das bibliotecas de biblioteca C++ padrão e a ATL, MFC e CRT sistema autônomo mistos assemblies compilados com/CLR.Essas bibliotecas mistas permitem que você use todas as suas funções existentes quando seu código contém uma mistura de código nativo e baseada em MSIL __clrcall código. For more information, see Misto (nativos e gerenciados) assemblies.
As alterações de suporte da biblioteca do Visual C++ 2005 resolver emite o "bloquear de carregador" que aplicado a DLLs mistas no Visual C++ .NET e Visual C++ .NET 2003.No entanto, ainda há uma restrição de que seu DllMain código nunca deve acessar o CLR.For more information, see Misto (nativos e gerenciados) assemblies.
No Visual C++ 2005, os ATL e MFC bibliotecas não são suportadas pelo modo puro compilação (/ clr: puro).