Sintomi
Si consideri lo scenario seguente:
-
Si sviluppa un'applicazione di Microsoft Visual C++ 2010 che utilizza i membri di campo di bit in una struttura in Microsoft Visual Studio 2010.
-
Si attiva un'opzione del compilatore di ottimizzazione per l'applicazione e quindi si compila l'applicazione.
-
Si esegue l'applicazione.
In questo scenario, codice macchina non corretto può essere generato per determinate operazioni membro di campo di bit nella struttura.
Risoluzione
Informazioni sull'hotfix
Un hotfix supportato è ora disponibile da Microsoft. Tuttavia, destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico.Per risolvere questo problema, contattare il supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota: In casi particolari, le spese normalmente addebitate per le chiamate di supporto potrebbero essere annullate qualora un addetto al supporto Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.
Prerequisiti
Per applicare questo hotfix, è necessario disporre di Microsoft Visual Studio 2010 SP1 installato.
Richiesta di riavvio
Non è necessario riavviare il computer dopo avere installato l'hotfix se non vengono utilizzati i file interessati al momento dell'installazione. Si consiglia di chiudere tutti i componenti relativi a Visual Studio 2010 prima di installare l'hotfix.
La versione globale di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo.
|
Nome del file |
Versione del file |
Dimensione del file |
Data |
Ora |
Piattaforma |
Percorso |
|---|---|---|---|---|---|---|
|
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 |
Stato
Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".
Soluzione alternativa
Per risolvere questo problema, utilizzare uno dei seguenti metodi:
-
Utilizzare l'opzione del compilatoreOd ottimizzazione /per disattivare l'ottimizzazione.
-
Utilizzare il pragma optimize per attivare o disattivare l'ottimizzazione in base dalla funzione.
-
Eseguire l'aggiornamento a Microsoft Visual Studio 2012.
Riferimenti
Per ulteriori informazioni sul pragma optimize , visitare il seguente sito Web MSDN:
Informazioni generali il pragma optimizePer ulteriori informazioni sulle opzioni di ottimizzazione /O , visitare il seguente sito Web MSDN: