Simptome
Să luăm în considerare următorul scenariu:
-
Vă dezvolta o aplicație Microsoft Visual C++ 2010 care utilizează bit câmp membri din o struct în Microsoft Visual Studio 2010.
-
Activați o opțiune de optimizare compilator pentru aplicație și apoi compilarea aplicației.
-
Executați aplicația.
În acest scenariu, cod mașină incorect pot fi generate pentru anumite bit câmp membru operațiuni în struct.
Rezolvare
Informații despre remedierea rapidă
Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, aceasta este scopul de a corecta numai problema descrisă în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume.
Pentru a rezolva această problemă, contactați serviciile de asistență pentru clienți Microsoft pentru a obține remedierea rapidă. Pentru o listă completă a numerelor de telefon ale serviciilor de asistență pentru clienți Microsoft și informații despre costurile de asistență, vizitați următorul site Web Microsoft:
http://support.microsoft.com/contactus/?ws=supportNotă În cazuri speciale, costurile implicate de obicei pentru apelurile de suport pot fi anulate dacă un specialist în asistență Microsoft stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.
Cerințe preliminare
Pentru a aplica această remediere rapidă, trebuie să aveți Microsoft Visual Studio 2010 SP1 instalat.
Cerinţă de repornire
Nu trebuie să reporniți computerul după ce instalați remedierea rapidă dacă fișierele afectate nu sunt utilizate în momentul instalării. Vă recomandăm să închideţi toate componentele legate de Visual Studio 2010 înainte de a instala remedierea rapidă.
Versiunea globală a acestei remedieri rapide are atributele de fişier (sau atribute de fişier mai recente) enumerate în următorul tabel. Datele şi orele acestor fişiere sunt exprimate în listă în ora universală (UTC). Când vizualizaţi informaţiile despre fișier, acesta este convertit la ora locală. Pentru a găsi diferenţa dintre UTC şi ora locală, utilizaţi fila Fusul orar în elementul de Data şi ora în Panoul de Control.
Nume de fișier |
Versiune fișier |
Dimensiune fișier |
Data |
Ora |
Platformă |
Cale |
---|---|---|---|---|---|---|
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 |
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Soluție
Pentru a rezolva această problemă, utilizați una dintre următoarele metode:
-
Utilizați /LC optimizarea compilator opţiune pentru a dezactiva optimizare.
-
Utilizați pragma optimizează pentru a activa sau dezactiva optimizare funcţie de funcţie în parte.
-
Upgrade la Microsoft Visual Studio 2012.
Referințe
Pentru mai multe informații despre pragma optimizează , accesați următorul site Web MSDN:
Informații generale despre pragma de optimizarePentru mai multe informații despre opțiunile de optimizare /O , accesați următorul site Web MSDN: