Požymiai
Įsivaizduokite tokią situaciją:
-
Jūs turite Visual C ++ 2010 projektą. Projekto šaltinio kodas yra struktūros arba klasės, nei 64 baitų.
-
Galite sukurti projekto x64 64 platformos, ir naudodami parinktį/O2 kompiliatorius.
-
Galite paleisti programą.
Tokiu atveju atsiranda prieigos pažeidimas ir taikomoji programa sugenda.
Priežastis
Ši problema kyla dėl to, kad x64 pagrindo kompiliatorius Visual Studio 2010 optimizuoja kodas pagal 16 baitų 64 baitų duomenų paskirstymo derinimą. Todėl atminties problema atsiranda objektai, kurie viršija 64 baitų.
Sprendimas
Karštųjų pataisų informacija
„Microsoft“ pateikia palaikomas karštąsias pataisas. Tačiau šios karštosios pataisos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Jas taikykite tik sistemoms, kuriose kyla ši konkreti problema. Šios karštosios pataisos gali būti papildomai testuojamos. Todėl jei ši triktis nekelia jums labai didelių problemų, rekomenduojame palaukti kito programinės įrangos naujinimo, kuriame bus šios karštosios pataisos. Norėdami atsisiųsti šias karštąsias pataisas iš MSDN kodų galerijos, apsilankykite šioje "Microsoft" svetainėje:
http://code.msdn.microsoft.com/KB2280741Pastaba MSDN kodas galerijoje rodo su kalbomis, kurios karštąsias pataisas. Jei nematote savo kalbos, vadinasi, kodas galerija išteklių puslapyje nėra tos kalbos. Pastaba Jeigu kyla papildomų problemų arba jei reikia šalinti triktis, gali reikėti pateikti atskirą užklausą. Už papildomą pagalbą dėl problemų ir klausimų, nesusijusių su čia nurodytomis karštosiomis pataisomis, bus taikomi įprasti mokesčiai už pagalbos paslaugas. Jei reikia išsamaus „Microsoft“ klientų aptarnavimo ir palaikymo tarnybos telefono numerių sąrašo arba norite pateikti atskirą užklausą, apsilankykite toliau nurodytoje „Microsoft“ svetainėje:
http://support.microsoft.com/contactus/?ws=supportTaip pat galite atsisiųsti šias karštąsias pataisas, apsilankykite šioje "Microsoft" svetainėje:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Būtinosios sąlygos
Norint taikyti šias karštąsias pataisas, turi būti įdiegta Visual Studio 2010.
Reikalavimas paleisti iš naujo
Turite iš naujo paleisti kompiuterį, kai pritaikote šias karštąsias pataisas.
Karštųjų pataisų pakeitimo informacija
Šios karštosios pataisos nepakeičia jokių kitų karštųjų pataisų.
Failo informacija
Šių karštųjų pataisų anglų k. versijos failo atributai (failo atributai) yra išvardyti toliau pateiktoje lentelėje. Datos ir laiko informacija pateikta pagal universalųjį laiką (UTC). Kai peržiūrite failo informaciją, ši informacija konvertuojama į vietos laiką. Norite pamatyti skirtumą tarp UTC ir vietos laiko, naudokite valdymo skydo elemento data ir laikas skirtuką laiko juostos .
Failo vardas |
Failo versija |
Failo dydis |
Data |
Laikas |
Platforma |
---|---|---|---|---|---|
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 |
Sprendimas
Norėdami išspręsti šią problemą, negalima naudoti/O2 kompiliatorius parinktį kurdami projekto.
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.