Síntomas
Imagine el siguiente escenario:
-
Desarrollar una aplicación de Microsoft Visual C++ 2010 que usa a miembros de campo de bits en una estructura en Microsoft Visual Studio 2010.
-
Habilitar una opción de compilador de optimización de la aplicación y, a continuación, compile la aplicación.
-
Ejecute la aplicación.
En este escenario, se puede generar código incorrecto de la máquina para determinadas operaciones de miembro de campo de bit en la estructura.
Solución
Información de la revisión
Ahora hay una revisión compatible de Microsoft. Sin embargo, se pretende corregir el problema que describe este artículo. Aplíquela sólo a sistemas que experimenten este problema específico.
Para resolver este problema, 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
Para aplicar este hotfix, debe tener instalado Microsoft Visual Studio 2010 SP1.
Requisito de reinicio
No es necesario que reinicie el equipo después de instalar la revisión si no se utilizan los archivos afectados en el momento de la instalación. Se recomienda que cierre todos los componentes de Visual Studio 2010 antes de instalar el hotfix.
La versión global de esta revisión tiene los atributos de archivo (o atributos de último archivo) 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 en el elemento de Fecha y hora del Panel de control.
Nombre del archivo |
Versión del archivo |
Tamaño de archivo |
Fecha |
Hora |
Plataforma |
Ruta de acceso |
---|---|---|---|---|---|---|
C2.dll |
16.0.40219.449 |
2,606,728 |
18-Apr-2013 |
18:09 |
x86 |
Microsoft Visual Studio 10.0\VC\bin |
C2.dll |
16.0.40219.449 |
2,493,576 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_amd64 |
C2.dll |
16.0.40219.449 |
2,593,928 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_ia64 |
C2.dll |
16.0.40219.449 |
2,960,008 |
19-Apr-2013 |
21:19 |
x64 |
Microsoft Visual Studio 10.0\VC\bin\amd64 |
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Solución alternativa
Para evitar este problema, utilice uno de los métodos siguientes:
-
Utilice la opción de compilador de optimización deOd /para desactivar la optimización.
-
Utilice la directiva pragma optimize para activar o desactivar la optimización en función por función.
-
Actualización para Microsoft Visual Studio 2012.
Referencias
Para obtener más información acerca de la directiva pragma optimize , visite el siguiente sitio Web de MSDN:
Información general sobre el pragma optimizePara obtener más información acerca de las opciones de optimización/o , visite el siguiente sitio Web de MSDN:
Información general acerca de las opciones /O (optimizar código)