Проблема
Некоторые функции математических библиотек с плавающей запятой в среде выполнения Visual C++ 2013 x64 C (CRT) неправильно проверка наличия определенных инструкций AVX и FMA3, прежде чем функции попытаются их использовать. Если инструкции недоступны для использования, вызовы этих функций вызывают исключение недопустимой инструкции (0xc000001d). Затронутые функции включают log, log10, pow и другие.
Эта проблема чаще всего возникает в следующих сценариях:
В старой версии операционной системы Windows, которая не поддерживает сохранение состояния AVX (например, Windows Vista), если она используется на компьютере, поддерживающем набор инструкций AVX
Если сохранение состояния AVX явно отключено в конфигурации загрузки операционной системы
В среде предустановки Windows (Windows PE)
Примечание. Windows PE не поддерживает сохранение состояния AVX.
Причина
Эта проблема возникает из-за того, что среда выполнения Visual C++ 2013 x64 C не проверка, поддерживает ли операционная система сохранение состояния AVX, прежде чем она попытается выполнить инструкции AVX или FMA3.
Решение
Это обновление для распространяемого пакета Microsoft Visual C++ 2013 с обновлением 5 выпущено только для скачивания и не распространяется через клиентский компонент Центра обновления Windows. Распространение этого обновления разрешено в соответствии с условиями лицензии, предоставленными выпуском Microsoft Visual Studio 2013 Update 5.
При статической привязке к среде выполнения Visual C++ 2013 C доступно исправление для Visual Studio 2013. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
Центр загрузки Майкрософт
Следующие файлы доступны для загрузки в Центре загрузки Майкрософт.
Путь к файлу x64.exe
Путь к файлу x86.exe
Сведения о файлах
VCRedist_x86.exe пути установки:
- Операционная система x86: %WinDir%\System32
- операционная система x64: %WinDir%\SysWow64
| Имя файла | Размер файла (x86) | Версия файла |
|---|---|---|
| msvcr120.dll | 949 КБ | 12.0.40660.0 |
| msvcp120.dll | 445 КБ | 12.0.40660.0 |
| vcamp120.dll | 332 КБ | 12.0.40660.0 |
| vcomp120.dll | 118 КБ | 12.0.40660.0 |
| vccorlib120.dll | 243 КБ | 12.0.40660.0 |
| mfc120.dll | 4 321 КБ | 12.0.40660.0 |
| mfc120u.dll | 4 347 КБ | 12.0.40660.0 |
| mfc120chs.dll | 46 КБ | 12.0.40660.0 |
| mfc120cht.dll | 46 КБ | 12.0.40660.0 |
| mfc120deu.dll | 74 КБ | 12.0.40660.0 |
| mfc120enu.dll | 64 КБ | 12.0.40660.0 |
| mfc120esn.dll | 73 КБ | 12.0.40660.0 |
| mfc120fra.dll | 74 КБ | 12.0.40660.0 |
| mfc120ita.dll | 72 КБ | 12.0.40660.0 |
| mfc120jpn.dll | 53 КБ | 12.0.40660.0 |
| mfc120kor.dll | 53 КБ | 12.0.40660.0 |
| mfc120rus.dll | 70 КБ | 12.0.40660.0 |
Vcredist_x64.exe пути установки:
- операционная система x64: %WinDir%\System32
| Имя файла | Размер файла (x64) | Версия файла |
|---|---|---|
| msvcr120.dll | 941 КБ | 12.0.40660.0 |
| msvcp120.dll | 645 КБ | 12.0.40660.0 |
| vcamp120.dll | 471 КБ | 12.0.40660.0 |
| vcomp120.dll | 135 КБ | 12.0.40660.0 |
| vccorlib120.dll | 349 КБ | 12.0.40660.0 |
| mfc120.dll | 5 477 КБ | 12.0.40660.0 |
| mfc120u.dll | 5 503 КБ | 12.0.40660.0 |
| mfc120chs.dll | 46 КБ | 12.0.40660.0 |
| mfc120cht.dll | 46 КБ | 12.0.40660.0 |
| mfc120deu.dll | 74 КБ | 12.0.40660.0 |
| mfc120enu.dll | 64 КБ | 12.0.40660.0 |
| mfc120esn.dll | 73 КБ | 12.0.40660.0 |
| mfc120fra.dll | 74 КБ | 12.0.40660.0 |
| mfc120ita.dll | 72 КБ | 12.0.40660.0 |
| mfc120jpn.dll | 53 КБ | 12.0.40660.0 |
| mfc120kor.dll | 53 КБ | 12.0.40660.0 |
| mfc120rus.dll | 70 КБ | 12.0.40660.0 |