Požymiai
Tarkime, kad turite taikomi Microsoft Visual Studio 2012 4 specifinių jūsų kompiuteryje. Kai surinkti kai kurie C ir C++ šaltinio kodas kartu su optimizavimo kompiliatorius parinktį, pvz., /Ox (visas optimizavimo), /oxt/Oxt, arba /o2/O2 (padidinti greitis) ir paskirties x64 platformos, galite gauti tokį klaidos pranešimą:
Lemtinga klaida C1001: kompiliatorius įvyko vidinė klaida.
Atkreipkite dėmesį, kad problema gali kilti, jei struct ar klasės naudojamas skambinimo funkcijos ir pirmą kartą pirmojo masyvo elemento laukas yra naudojamas funkcijos. Žr. toliau pateiktą pavyzdį:S* arr = …func1(arr, …)
func2(arr->firstField, …)
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.
Jeigu karštąsias pataisas galima atsisiųsti, šio žinių bazės straipsnio viršuje yra skyrius „Galima atsisiųsti karštąsias pataisas“. Jei šio skyriaus nėra, pateikite užklausą „Microsoft“ klientų aptarnavimo ir palaikymo tarnybai, kad gautumėte karštąsias pataisas.
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. Sąrašą Microsoft klientų aptarnavimo ir palaikymo tarnybos telefonų numerių arba sukurti atskirą aptarnavimo užklausą, apsilankykite šioje "Microsoft" svetainėje:
http://support.microsoft.com/contactus/?ws=supportPastaba. Formoje „Galima atsisiųsti karštąsias pataisas“ nurodomos kalbos, kurioms skirtos karštosios pataisos. Jei nematote savo kalbos, tai kalbai skirtų karštųjų pataisų nėra.
Būtinosios sąlygos
Norint taikyti šias karštąsias pataisas, turite Microsoft Visual Studio 2012 naujinimas 4 įdiegta.
Reikalavimas paleisti iš naujo
Jums gali tekti iš naujo paleisti kompiuterį, kai įdiegsite šias karštąsias pataisas, jei susiję failai nėra naudojami diegimo metu. Rekomenduojame, uždarykite visus Visual Studio 2010 susijusiems komponentams, prieš diegdami šias karštąsias pataisas.
Sprendimas
Norėdami išspręsti šią problemą, naudokite /o1/O1 (sumažinti dydį) optimizavimo kompiliatorius parinktį, arba naudojant disableoptimization (išjungti).
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.