Simptomi
Apsveriet šādu situāciju:
-
Visual C++ 2010 projekts ir. Projekta pirmkods ir struktūra vai klasi, kas pārsniedz 64 baiti.
-
Veidojot projekta pamatā x64 platformas un izmantojat opciju /O2 kompilators.
-
Palaižot programmu.
Šādā gadījumā rodas piekļuves pārkāpuma un avārijas.
Cēlonis
Šī problēma rodas tādēļ, ka Visual Studio 2010 x64 platformas kompilators optimizē kods pielāgojot iedalīšanas izvietojumu datus no 64 bytes 16 baiti. Tādēļ atmiņas problēma rodas objektiem, kas pārsniedz 64 baiti.
Risinājums
Informācija par labojumfailu
Korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr šis labojumfails ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lai lietotu šo labojumfailu tikai tām sistēmām, kurām ir radusies tieši šī problēma. Šajā labojumfailā, iespējams, tiks veikta papildu testēšana. Tādēļ, ja jums šī problēma nerada nopietnus traucējumus, ieteicams pagaidīt nākamos programmatūras atjauninājumus, kuros ir iekļauts šis labojumfails. Lai lejupielādētu šo labojumfailu no MSDN kodu galerijas, apmeklējiet šo Microsoft vietni:
http://code.msdn.microsoft.com/KB2280741Piezīme. MSDN kodu galerijā redzamas valodas, kurām ir pieejams labojumfails. Ja tajā nav vajadzīgās valodas sarakstā, tas nozīmē, ka kodu galerijas resursu lapa šajā valodā nav pieejama. Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neattiecas uz šo konkrēto labojumfailu. Lai iegūtu pilnīgu sarakstu ar Microsoft klientu apkalpošanas un atbalsta centra tālruņa numuru vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:
http://support.microsoft.com/contactus/?ws=supportVarat arī lejupielādēt šo labojumfailu, apmeklējot šo Microsoft vietni:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Priekšnosacījumi
Lai lietotu šo labojumfailu, datorā jābūt instalētai instalēts Visual Studio 2010.
Restartēšanas nepieciešamība
Nav pēc šī labojumfaila lietošanas dators jārestartē.
Informācija par labojumfaila aizstāšanu
Šis labojumfails neaizstāj nevienu citu labojumfailu.
Informācija par failu
Šī labojumfaila versijai angļu valodā ir faila atribūti (vai jaunāki faila atribūti) Šajā tabulā sniegtie. Šo failu datumi un laiki ir norādīti atbilstoši universālajam koordinētajam laikam (UTC). Skatot faila informāciju, tā tiek pārvērsta atbilstoši vietējam laikam. Lai noskaidrotu atšķirību starp UTC un vietējo laiku, izmantojiet vadības paneļa vienuma datums un laiks cilni laika josla .
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
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 |
Risinājums
Lai novērstu šo problēmu, neizmantojiet /O2 kompilators opciju veidojot projektu.
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".