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