Symptom
Tänk dig följande situation:
-
Du har ett projekt i Visual C++ 2010. Källkoden för projektet har en struktur eller en klass som överstiger 64 byte.
-
Du bygger ett projekt för en x64-baserad plattform och använder /O2 kompilatoralternativ.
-
Du kör programmet.
I det här fallet ett åtkomstfel uppstår och programmet kraschar.
Orsak
Det här problemet uppstår eftersom x64-baserade kompileraren i Visual Studio 2010 optimerar koden genom att justera fördelningen justeringen av data från 64 byte till 16 byte. Därför uppstår ett problem med minne för objekt som överstiger 64 byte.
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är tillgänglig från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd bara den här snabbkorrigeringen för system med just detta problem. Snabbkorrigeringen kan komma att testas igen. Om du inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen. Om du vill hämta snabbkorrigeringen från galleriet MSDN-kod finns på följande Microsoft-webbplats:
http://code.msdn.microsoft.com/KB2280741Obs! Galleri för MSDN-kod visar de språk som snabbkorrigeringen är tillgänglig. Om du inte ser ditt språk i listan beror det på att koden Gallery resurssidan inte är tillgänglig för språket. Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:
http://support.microsoft.com/contactus/?ws=supportDu kan också hämta snabbkorrigeringen genom att besöka följande Microsoft-webbplats:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Förutsättningar
Om du vill installera den här snabbkorrigeringen måste du ha installerat Visual Studio 2010.
Krav på omstart
Du behöver inte starta om datorn när du har installerat snabbkorrigeringen.
Ersättningsinformation för Hotfix
Den här snabbkorrigeringen ersätter inte några andra snabbkorrigeringar.
Filinformation
Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.
Filnamn |
Filversion |
Storlek |
Datum |
Tid |
Plattform |
---|---|---|---|---|---|
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 |
Lösning
Undvik det här problemet, Använd inte kompilatoralternativ /O2 när du skapar projektet.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet ”gäller”.