Cambios en las bibliotecas de Visual C++ 2005

Actualización: noviembre 2007

Las siguientes secciones tratan sobre las actualizaciones y los cambios importantes realizados en las bibliotecas que se distribuyen con Visual C++.

En esta sección

Cambios generales de las bibliotecas

Cambios importantes

En el modo mixto, se llama a los constructores nativos antes que a los constructores administrados. Para un único archivo ejecutable, se llama a los constructores de todos los objetos globales nativos antes que al constructor de cualquier objeto global administrado, independientemente de si los objetos administrados y nativos se encuentran en la misma unidad de compilación.

Por consiguiente, las aplicaciones que se basan en constructores administrados a los que se llama antes que a los constructores nativos puede que funcionen de forma incorrecta.

Si hay dependencias entre los objetos globales, debería garantizar que sólo existan dependencias de objetos administrados a objetos nativos. El mejor modo de asegurarse de que un objeto es administrado o nativo es colocarlo en una unidad de compilación que se genere de ese modo.

Cambios en las bibliotecas para que sean compatibles con la generación de ensamblados basada en manifiestos

A partir de Visual C++ 2005, la Biblioteca estándar de C++ y las bibliotecas ATL, MFC y CRT son ensamblados simultáneos compartidos con manifiestos. De igual forma, la configuración del compilador y del vinculador ahora adopta de forma predeterminada la generación de manifiestos mediante mt.exe. Esto garantizará que todas las aplicaciones ejecutables de Visual C++ tengan un manifiesto que haga referencia a su dependencia de ATL, MFC y CRT. Para obtener información detallada, vea Visual C++ Libraries as Shared Side-by-Side Assemblies, Implementación (C++) y Generar aplicaciones aisladas y ensamblados simultáneos de C/C++.

Si utiliza archivos MAKE para generar proyectos, vea Cómo: Incrustar un manifiesto en una aplicación de C/C++.

Compatibilidad de las bibliotecas con los ensamblados mixtos

Visual C++ 2005 admite el uso de la Biblioteca estándar de C++ y de las bibliotecas ATL, MFC y CRT como ensamblados mixtos compilados con /clr. Estas bibliotecas mixtas permiten utilizar todas sus funciones existentes si el código contiene una mezcla de código nativo y código __clrcall basado en MSIL. Para obtener más información, vea Ensamblados mixtos (nativos y administrados).

Inicialización de ensamblados mixtos

Los cambios de compatibilidad de las bibliotecas en Visual C++ 2005 resuelven los problemas de "bloqueo del cargador" que afectan a archivos DLL mixtos de Visual C++ .NET y Visual C++ .NET 2003. No obstante, todavía existe una restricción que consiste en que el código de DllMain nunca debe tener acceso al CLR. Para obtener más información, vea Ensamblados mixtos (nativos y administrados).

Bibliotecas no admitidas por la compilación en modo puro

En Visual C++ 2005, la compilación en modo puro (/clr:pure) no admite las bibliotecas ATL y MFC.

Vea también

Conceptos

Cambios en Visual C++ 2005 y versiones anteriores