Симптоми
Да предположим, че сте приложили Microsoft Visual Studio 2012 актуализация 4 на вашия компютър. При събиране на някои източник на C или C++ код заедно с компилатор оптимизация опция като /Ox (пълна оптимизация), /Oxtили /O2 (максимална скорост) и да целева x64 платформа, може да получите следното съобщение за грешка:
Фатална грешка C1001: вътрешна грешка в компилатора.
Обърнете внимание, проблемът може да възникне, ако се използва масив строеж или при извикване на и първото поле на първия елемент на масива се използва при извикване на. Вижте следния пример:S* arr = …func1(arr, …) func2(arr->firstField, …)
Решение
Информация за актуалната корекция
Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем.
Ако актуалната корекция е налична за изтегляне, има секция "Актуални корекции достъпни за теглене" в горната част на тази статия от базата знания. Ако тази секция не се появи, изпратете заявка за обслужване на клиенти на Microsoft и поддръжка, за да получите актуалната корекция. Забележка: Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:http://support.microsoft.com/contactus/?ws=supportЗабележка: Формулярът "Актуални Download наличен" показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото актуалната корекция не е налична за този език.
Необходими условия:
За да приложите тази актуална корекция, трябва да имате Microsoft Visual Studio 2012 актуализация 4 инсталиран.
Изискване за рестартиране
Може да се наложи да рестартирате компютъра, след като инсталирате актуалната корекция ако засегнатите файлове не се използват по време на инсталирането. Препоръчително е да затворите всички компоненти на Visual Studio 2010, преди да инсталирате корекцията.
Заобикаляне на проблема
За да заобиколите този проблем, използвайте опцията /O1 (намаляване на размера) оптимизация компилатор или забраните оптимизация чрез /Od (забранено).
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".