NUSTATYTI: Prieigos pažeidimas kyla paleidus Visual C ++ 2010 programa x64 64 platformos naudojant į "/ O2" kompiliatorius parinktį sukurti projekto

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.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×