Características del compilador en Visual C++ 2005
Actualización: noviembre 2007
En este tema se enumeran las nuevas características del compilador en Visual C++ 2005.
Nota: |
---|
El compilador de Visual C++ sólo se puede ejecutar en los siguientes sistemas operativos: Windows 2000 y Windows XP Home Edition, Windows XP Professional, Windows Server 2003. |
Comentarios
El compilador de Visual C++ 2005 contiene las siguientes nuevas características:
El compilador tiene cambios importantes en esta versión. Vea Cambios importantes en el compilador de Visual C++ 2005 para obtener más información.
Compiladores de 64 bits nativos y cruzados. Para obtener más información, vea Opciones del compilador y Convenciones de software x64.
Se ha agregado la opción del compilador /analyze (Análisis del código de empresa).
Se ha agregado la opción del compilador /bigobj.
Se han agregado /clr:pure, /clr:safe y /clr:oldSyntax. Para obtener más información, vea /clr (Compilación de Common Language Runtime).
Opciones del compilador en desuso: muchas opciones del compilador se han dejado de utilizar en esta versión; vea Opciones obsoletas del compilador en Visual C++ 2005 para obtener más información.
Se ha reducido el código thunk doble en /clr; vea Doble thunk (C++) para obtener más información.
/EH (Modelo de control de excepciones) o /EHs ya no se utilizan para detectar una excepción provocada por algo distinto de una cláusula throw; utilice /EHa.
Se ha agregado la opción del compilador /errorReport (Informar de los errores del compilador).
Se ha agregado la opción del compilador /favor (Optimizar para x64).
Se ha agregado la opción del compilador /FA, /Fa (Archivo de lista).
Se ha agregado la opción del compilador /FC (Ruta de acceso completa de archivo de código fuente en diagnósticos).
Se ha agregado la opción del compilador /fp (Especificar comportamiento de punto flotante).
Se ha agregado la opción del compilador /G (opciones) (Optimizar para procesador).
Se ha agregado la opción del compilador /G (opciones) (Optimizar para procesador).
Se han quitado las opciones del compilador /G3, /G4, /G5, /G6, /G7 y /GB. El compilador ahora utiliza un "modelo mixto" que intenta crear el mejor archivo de resultados para todas las arquitecturas.
Se ha quitado /Gf. En su lugar, se ha de utilizar /GF (Eliminar cadenas duplicadas).
/GL (Optimización de todo el programa) ahora es compatible con /CLRHEADER. Para obtener más información, vea /LTCG (Generación de código en tiempo de enlace).
De manera predeterminada, /GR está ahora habilitada. Vea /GR (Habilitar la información de tipo en tiempo de ejecución) para obtener más información.
/GS (Comprobación de seguridad del búfer) ahora proporciona protección de seguridad para parámetros de puntero vulnerables. /GS está ahora habilitada de manera predeterminada. /GS ahora también trabaja en funciones compiladas a MSIL con /clr (Compilación de Common Language Runtime).
Se ha agregado la opción del compilador /homeparams (Copiar los parámetros del Registro en la pila).
Se ha agregado la opción del compilador /hotpatch (Crear una imagen a la que se puede aplicar una revisión reciente).
Se han actualizado las opciones heurísticas de la función inline; vea inline, __inline, __forceinline e inline_depth para obtener más información
Se han agregado muchas nuevas funciones intrínsecas y ahora se documentan muchas funciones intrínsecas que previamente no lo estaban. Para obtener más información, vea Alphabetical Listing of Intrinsic Functions.
De forma predeterminada, cualquier llamada a new que falle iniciará una excepción. Para obtener más información, vea The new and delete Operators.
Se han quitado las opciones del compilador /ML y /MLd. Visual C++ ya no admite la compatibilidad con la biblioteca CRT vinculada estáticamente, de un único subproceso. Vea C Run-Time Libraries para obtener más información.
El compilador implementó la Optimización del valor devuelto con nombre, que se habilita al compilar con /O1, /O2 (Minimizar tamaño, maximizar velocidad), /Og (optimizaciones globales) y /Ox (Optimización completa).
Se ha quitado la opción del compilador /Oa, pero se omitirá de forma silenciosa; use los modificadores noalias, restrict o __declspec para especificar cómo realiza el compilador el efecto escalonado (aliasing).
Se ha quitado la opción del compilador /Op. En su lugar, se ha de utilizar /fp (Especificar comportamiento de punto flotante).
Visual C++ admite ahora OpenMP. Para obtener más información, vea OpenMP in Visual C++.
Se ha agregado la opción del compilador /openmp (Habilitar la compatibilidad con OpenMP 2.0).
Se ha quitado opción del compilador /Ow, pero se omitirá silenciosamente. Utilice los modificadores noalias, restrict o __declspec para especificar cómo realiza el compilador el efecto escalonado (aliasing).
Se ha quitado /QI0f.
Se ha quitado /QIfdiv.
Se ha agregado la opción del compilador /QIPF_B (Errata en ejecución de instrucciones paso a paso de CPU en B).
Se ha agregado la opción del compilador /QIPF_C (Errata en ejecución de instrucciones paso a paso de CPU en C).
Se ha agregado la opción del compilador /QIPF_fr32 (No utilizar los 96 registros de punto flotante superiores).
Se ha agregado la opción del compilador /QIPF_noPIC (Generar código dependiente de la posición).
Se ha agregado la opción del compilador /QIPF_restrict_plabels (Suponer que no se crean funciones en tiempo de ejecución).
/vd (Deshabilitar desplazamientos de constructores) ahora permite utilizar dynamic_cast Operator en un objeto en construcción (/vd2)
Se ha quitado la opción del compilador /YX. Use /Yc (Crear archivo de encabezado precompilado) o /Yu (Utilizar el archivo de encabezado precompilado) en su lugar. Si quita /YX de sus configuraciones de generación y no lo reemplaza por nada, puede producir generaciones más rápidas.
De manera predeterminada, /Zc:forScope está ahora habilitada. Vea /Zc:forScope (Forzar ajuste en el ámbito del bucle For) para obtener más información.
De manera predeterminada, /Zc:wchar_t está ahora habilitada. Vea /Zc:wchar_t (wchar_t es un tipo nativo) para obtener más información.
Se ha quitado la opción del compilador /Zd. Ya no se admite información de depuración sólo de número de línea. Utilice /Zi en su lugar (vea /Z7, /Zi, /ZI (Formato de la información de depuración) para obtener más información).
/Zg ahora sólo es válido en archivos de código fuente de C y no en archivos de código fuente de C++. Vea /Zg (Generar prototipos de función) para obtener más información.
Se ha agregado la opción del compilador /Zx (Depurar código para Itanium optimizado).
Vea también
Conceptos
Cambios en el compilador, el lenguaje y las herramientas de Visual C++ 2005