Simptome
Să luăm în considerare următorul scenariu:
-
Aveți un proiect Visual C++ 2010. Codul sursă a proiectului are o structură sau clasa care depășește 64 octeți.
-
Construi proiectul pentru o platformă bazată pe x64 și utilizați opțiunea /O2 compilator.
-
Executați aplicația.
În acest scenariu, apare o încălcare de acces și aplicația se blochează.
Cauză
Această problemă apare deoarece bazate pe x64 compilator de Visual Studio 2010 optimizează codul ajustând aliniere de alocare de date de la 64 octeți la 16 octeți. De aceea, produce o eroare de memorie pentru obiecte care depășește 64 octeți.
Rezolvare
Informații despre remedierea rapidă
O remediere rapidă compatibilă este disponibilă de la Microsoft. Cu toate acestea, această remediere rapidă este destinată pentru a corecta doar problema descrisă în acest articol. Aplicați această remediere rapidă numai pentru sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să aşteptaţi următoarea actualizare software care conţine această remediere rapidă. Pentru a descărca această remediere rapidă de la MSDN Code Gallery, vizitați următorul site Web Microsoft:
http://code.msdn.microsoft.com/KB2280741Notă MSDN Code Gallery afișează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeți limba dvs. listată, înseamnă că pagina de resurse Code Gallery nu este disponibil pentru limba respectivă. Notă Dacă se produc probleme suplimentare sau este necesară depanarea, poate fi necesar să creați o solicitare de asistenţă separată. Costurile de obicei pentru suport se vor aplica pentru sprijin suplimentar, întrebări și probleme care nu sunt specifice pentru această remediere rapidă . Pentru o listă completă cu numerele de telefon ale clienților servicii și asistență Microsoft sau pentru a crea o solicitare de asistenţă separată, vizitați următorul site Web Microsoft:
http://support.microsoft.com/contactus/?ws=supportDe asemenea, puteţi descărca această remediere rapidă vizitând următorul site Web Microsoft:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Cerinţe preliminare
Pentru a aplica această remediere rapidă, trebuie să aveți Visual Studio 2010 instalat.
Cerinţă de repornire
Nu trebuie să reporniți computerul după ce aplicați remedierea rapidă.
Informații despre înlocuirea remedierilor rapide
Această remediere rapidă nu înlocuiește nicio altă remediere rapidă.
Informații despre fișier
Versiunea în limba engleză 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 afla diferența între timpul universal și cel local, utilizați fila fus orar în elementul dată și oră din panoul de Control.
Nume de fișier |
Versiune fișier |
Dimensiune fișier |
Data |
Ora |
Platformă |
---|---|---|---|---|---|
C2.dll |
16.0.30319.345 |
2,510,144 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,588,480 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,630,976 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,977,088 |
01-Aug-2010 |
23:42 |
x64 |
C2.dll |
16.0.30319.345 |
7,351,616 |
01-Aug-2010 |
23:42 |
IA-64 |
Soluție de evitare
Pentru a rezolva această problemă, utilizați opțiunea de compilator /O2 la compilarea proiectul.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.