Share via


Lo nuevo en Visual C++ 2008

Actualización: noviembre 2007

Este tema presenta las nuevas características y cambios que se pueden encontrar en este lanzamiento de Visual Studio 2008.

Entorno de desarrollo integrado (IDE) de Visual C++

Término

Definición

Los cuadros de diálogo que se crean en aplicaciones ATL, MFC y Win32 ahora cumplen las instrucciones de estilo de Windows Vista.

Al crear un nuevo proyecto mediante Visual Studio 2008, todos los cuadros de diálogo que inserte en la aplicación cumplirán la instrucción de estilo de Windows Vista. Si vuelve a compilar un proyecto que creó con una versión anterior de Visual Studio, cualquier cuadro de diálogo existente mantendrá la misma apariencia que tenía previamente. Para obtener más información sobre cómo insertar cuadros de diálogo en la aplicación, vea Editor de cuadros de diálogo.

El Asistente para proyectos ATL ahora tiene una opción para registrar componentes para todos los usuarios.

Comenzando con Visual Studio 2008, los componentes COM y las bibliotecas de tipos que crea el Asistente para proyectos ATL se registran en el nodo HKEY_CURRENT_USER del Registro, a menos que seleccione Registrar componentes para todos los usuarios. Para obtener más información, vea Configuración de la aplicación, Asistente para proyectos ATL.

El Asistente para proyectos ATL ya no proporciona una opción para crear proyectos ATL con atributos.

A partir de Visual Studio 2008, el Asistente para proyectos ATL no dispone de una opción para cambiar el estado de los atributos de un nuevo proyecto. Todos los proyectos ATL nuevos creados por el asistente ya no tienen atributos.

Se puede redirigir la escritura en el Registro.

Con la introducción de Windows Vista, la escritura en ciertas áreas del Registro requiere un programa que se ejecute en modo elevado. No es conveniente ejecutar siempre Visual Studio en modo elevado. La redirección por usuario redirige automáticamente la escritura en el Registro de HKEY_CLASSES_ROOT a HKEY_CURRENT_USER sin ningún cambio de programación. Para obtener más información, vea Páginas de propiedades Vinculador.

El Diseñador de clases ahora tiene compatibilidad limitada para el código de C++ nativo.

En las versiones anteriores de Visual Studio, el Diseñador de clases solamente funcionaba con Visual C# y Visual Basic. Los usuarios de C++ ahora pueden utilizar el Diseñador de clases, pero sólo en modo de sólo lectura. Para obtener más información sobre cómo usar el Diseñador de clases con C++, vea Trabajar con código de Visual C++ en el Diseñador de clases.

Bibliotecas de Visual C++

General

Término

Definición

Las aplicaciones pueden enlazarse a versiones específicas de las bibliotecas de Visual C++.

A veces las aplicaciones dependen de actualizaciones realizadas en las bibliotecas de Visual C++ tras el lanzamiento de una nueva versión. En este caso, la ejecución de la aplicación en un equipo con versiones anteriores de las bibliotecas puede provocar un comportamiento inesperado. Ahora puede enlazar una aplicación a una versión específica de las bibliotecas para que no se ejecute en equipos con una versión anterior de las mismas. Para obtener más información, vea Redistribuir una aplicación y enlazarla a bibliotecas específicas.

Biblioteca de STL/CLR

Término

Definición

Visual C++ ahora incluye la Biblioteca de STL/CLR.

La Biblioteca de STL/CLR es un paquete de la Biblioteca de plantillas estándar (STL), un subconjunto de la Biblioteca estándar de C++, para su uso con C++ y .NET Framework Common Language Runtime (CLR). Con STL/CLR, ahora puede utilizar todos los contenedores, iteradores y algoritmos de STL en un entorno administrado.

Biblioteca MFC

Término

Definición

Windows Vista admite controles comunes.

Se han agregado más de 150 métodos en 18 clases nuevas o existentes para admitir las características de Windows Vista o mejorar la funcionalidad de las clases MFC actuales.

La nueva clase CNetAddressCtrl permite especificar y validar direcciones IPv4 y IPv6 o nombres DNS. La nueva clase CPagerCtrl simplifica uso del control de localizador (pager) de Windows. Y la nueva clase CSplitButton simplifica el uso del control splitbutton de Windows para seleccionar una acción predeterminada u opcional.

Biblioteca de compatibilidad de C++

Término

Definición

C++ introduce la biblioteca de cálculos de referencias.

La biblioteca proporciona un método fácil y optimizado para calcular referencias de los datos entre los entornos nativo y administrado. La biblioteca es una alternativa a enfoques más complejos y menos eficaces, como PInvoke. Vea Overview of Marshaling in C++ para obtener más información.

Servidor ATL

Término

Definición

El servidor ATL se lanza como un proyecto de origen compartido.

La mayoría del código del servidor ATL se ha lanzado como un proyecto de origen compartido en CodePlex y no se instala como parte de Visual Studio 2008.  Varios archivos asociados con el servidor ATL ya no forman parte de Visual Studio. Para obtener una lista de los archivos que se han quitado, vea Removed ATL Server Files.

Las clases de codificación y descodificación de datos de atlenc.h y las funciones de utilidad y clases de atlutil.h y atlpath.h ahora forman parte de la biblioteca de ATL.

Microsoft seguirá admitiendo las versiones del servidor ATL incluidas en lanzamientos anteriores de Visual Studio siempre que se admitan dichas versiones de Visual Studio. CodePlex continuará el desarrollo del código del servidor ATL como un proyecto de comunidad. Microsoft no admite una versión de CodePlex del servidor ATL.

Compilador y vinculador de Visual C++

Cambios del compilador

Término

Definición

El compilador admite compilaciones incrementales administradas.

Al especificar esta opción, el compilador no volverá a compilar el código cuando cambie un ensamblado al que se hace referencia. En su lugar, realizará una compilación incremental. Los archivos se vuelven a compilar sólo si los cambios afectan al código dependiente. Para obtener más información, vea Página de propiedades General (Proyecto).

Ya no se admiten atributos relacionados con el servidor ATL.

El compilador ya no admite varios atributos que estaban directamente relacionados con el servidor ATL. Para obtener una lista completa de los atributos quitados, vea Cambios importantes.

El compilador admite la microarquitectura de Intel Core.

El compilador contiene optimización para la microarquitectura de Intel Core durante la generación de código. Esta optimización está activada de forma predeterminada y no se puede deshabilitar, ya que también ayuda a los procesadores Pentium 4 y a otros procesadores.

Las funciones intrínsecas admiten los nuevos procesadores AMD e Intel.

Varias instrucciones intrínsecas nuevas admiten la mayor funcionalidad de los procesadores AMD e Intel más recientes. Para obtener más información sobre las nuevas instrucciones intrínsecas, vea Supplemental Streaming SIMD Extensions 3 Instructions, Streaming SIMD Extensions 4 Instructions, SSE4a and Advanced Bit Manipulation Intrinsics, AES Intrinsics, _mm_clmulepi64_si128 y __rdtscp.

La función __cpuid está actualizada.

Ahora las funciones __cpuid admiten varias características nuevas de las últimas revisiones de los procesadores AMD e Intel. El elemento intrínseco __cpuidex es nuevo y recopila más información de los procesadores recientes.

La opción del compilador /MP reduce el tiempo de compilación total.

La opción /MP puede reducir significativamente el tiempo total que se tarda en compilar varios archivos de código fuente creando varios procesos que compilan los archivos simultáneamente. Esta opción resulta especialmente útil en los equipos que admiten hyperthreading, varios procesadores o varios núcleos.

La opción del compilador /Wp64 y la palabra clave __w64 están obsoletas.

La opción del compilador /Wp64 y la palabra clave __w64, que detectan problemas de portabilidad de 64 bits, están obsoletas y se quitarán en una versión futura del compilador. En lugar de esta opción del compilador y palabra clave, utilice un compilador de Visual C++ diseñado para una plataforma de 64 bits. Para obtener más información, vea Programación de 64 bits con Visual C++.

/Qfast_transcendentals

Genera código insertado para las funciones transcendentales. Para obtener más información, vea /Qfast_transcendentals (Force Fast Transcendentals).

/Qimprecise_fwaits

Quita los comandos fwait internos de los bloques try cuando se utiliza la opción del compilador /fp:except. Para obtener más información, vea /Qimprecise_fwaits (Quitar comandos fwait en los bloques Try).

Cambios del vinculador

Término

Definición

La información del Control de cuentas de usuario ahora se incrusta en archivos de manifiesto de aplicaciones ejecutables mediante el vinculador de Visual C++ (link.exe).

Esta característica está habilitada de forma predeterminada. Para obtener más información, vea Cómo el control de cuentas de usuario (UAC) afecta a la aplicación. Para obtener más información sobre cómo deshabilitar esta característica, o cómo modificar el comportamiento predeterminado, vea /MANIFESTUAC (Incrustar información de UAC en el manifiesto).

El vinculador ahora tiene la opción /DYNAMICBASE para habilitar la característica de selección aleatoria del diseño del espacio de direcciones de Windows Vista.

Esta opción modifica el encabezado de un archivo ejecutable para indicar si la aplicación debería reubicarse de forma aleatoria en el momento de la carga. Para obtener más información, vea /DYNAMICBASE (Usar selección aleatoria del diseño del espacio de direcciones).

Ejemplos de Visual C++

Nuevos ejemplos de Visual Studio 2008

Término

Definición

Ejemplo CFileDialog: Registrar el orden de los eventos

Crea un cuadro de diálogo personalizado que muestra eventos que se generan al crear un CFileDialog.

Ejemplo CMNCTRL3: Muestra los nuevos controles MFC disponibles en Visual Studio 2008

Muestra algunos de los nuevos controles disponibles con MFC en Windows Vista, incluidos el botón de vínculo de comando (CButton), el control de paginación (CPagerCtrl), el botón de división (CSplitButton) y el control de dirección de red (CNetAddressCtrl).

Ejemplo NETADDR: Ejemplo Vista Net Address Verifier Control

Muestra el uso del control "Net Address Verifier" de Windows Vista.

Ejemplo StlClrLibrary: Muestra las características de STL/CLR

Muestra algunas de las funciones disponibles al utilizar la Biblioteca de STL/CLR.

Visual C++ Express

Adiciones a Visual C++ Express

Término

Definición

Visual C++ Express ahora incluye el SDK de Windows

Los usuarios de Visual C++ Express ahora pueden utilizar el SDK de Windows sin tener que descargarlo e instalarlo por separado. Visual C++ Express ahora también incluye el Asistente para proyectos Win32.

Secciones relacionadas

Término

Definición

Cambios importantes

Enumera los cambios importantes de Visual C++ 2008.

Trasladar y actualizar programas

Proporciona vínculos a información sobre cómo trasladarse desde otras plataformas y actualizar a partir de versiones anteriores de Visual C++.

Cómo: Actualizar proyectos de versiones anteriores de Visual C++

Proporciona vínculos para actualizar proyectos de Visual C++ de versiones anteriores.

Vea también

Otros recursos

Introducción a Visual C++

Anteriores cambios del producto