Introducción
La revisión que se describe en este artículo soluciona los problemas siguientes en Microsoft Visual Studio 2010.
Problema 1
Experimenta un comportamiento inesperado al ejecutar una aplicación que tiene bucles en el código fuente. Este problema se produce si el código fuente se compila con optimización global (/ Og) habilitado.
Problema 2
Imagine el siguiente escenario:
-
Tiene un proyecto de Visual C++ que incluye el archivo Atlcomcli.h.
-
Especificar la opción del compilador /J para definir la_CHAR_UNSIGNEDmacro en el proyecto.
-
Compilar el proyecto.
En este escenario, recibirá uno de los siguientes mensajes de error:
-
Error C2338: CVarTypeInfo < char > no se puede compilar con indicador /J o _CHAR_UNSIGNED habilitado
-
Error C2338: CVarTypeInfo < char * > no se puede compilar con indicador /J o _CHAR_UNSIGNED habilitado
Problema 3
Se produce una infracción de acceso cuando ejecuta una aplicación de Visual C++ que se ha creado para una versión x86 de Windows. Este problema se produce cuando la aplicación tiene un árbol de expresión que tiene dos argumentos de entrada de tipo de matriz.
Causa
Causa del problema 1
Este problema se produce porque una optimización incorrecta del bucle se ejecuta. Esto provoca la generación de código incorrecto.
Causa del problema 2
Este problema se produce porque las aserciones estáticas en el archivo Atlcomcli.h se establecen en la opción /J y la macro CHAR_UNSIGNED incorrectamente.
Causa del problema 3
Este problema se produce porque se mezclan los argumentos de las instrucciones de inserción. Por lo tanto, se pasan argumentos incorrectos para las instrucciones de inserción.
Más información
Información de la revisión
Ahora hay una revisión compatible de Microsoft. Sin embargo, se pretende corregir el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión puede ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima 2010 de Visual Studio que contenga este hotfix.
Para resolver este problema inmediatamente, póngase en contacto con los servicios de soporte técnico de Microsoft para obtener la revisión. Para obtener una lista completa de números de teléfono de los servicios de soporte al cliente de Microsoft e información acerca de los costos de soporte técnico, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota: En casos especiales, los costos derivados normalmente de las llamadas al soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.
Requisitos previos
Debe tener Microsoft Visual Studio 2010 instalado para poder aplicar este hotfix.
Requisito de reinicio
No es necesario que reinicie el equipo después de aplicar la revisión si no se está utilizando ningún archivo afectado.
Información de reemplazo de revisión
Este hotfix no sustituye a otras revisiones.
Información de archivo
La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha
Zona horaria
ficha en el
Fecha y hora
en Panel de Control.
Nombre del archivo |
Versión del archivo |
Tamaño de archivo |
Fecha |
Hora |
Plataforma |
---|---|---|---|---|---|
C2.dll |
16.0.30319.314 |
2,510,144 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,588,480 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,630,976 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,977,600 |
30-May-2010 |
20:48 |
x64 |
C2.dll |
16.0.30319.314 |
7,351,616 |
30-May-2010 |
20:48 |
IA-64 |
Solución alternativa
Solución para el problema 1
Para evitar este problema, deshabilitar la optimización global. Para obtener más información acerca de cómo deshabilitar la optimización global, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
CORREGIR 216181 : código incorrecto generado con /Og optimización
Solución para el problema 2
Para evitar este problema, utilice la directiva pragma siguiente para incluir el archivo Atlcomcli.h.
#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT
#define ATLSTATIC_ASSERT(x,y)
#include <atlcomcli.h>
#undef ATLSTATIC_ASSERT
#pragma pop_macro("ATLSTATIC_ASSERT")