Objawy
Niektóre funkcje biblioteki matematycznej zmiennoprzecinkowej w środowisku wykonawczym (CRT) języka C Visual C++ 2013 x64 nie sprawdzają poprawnie, czy są dostępne określone instrukcje AVX i FMA3, zanim funkcje spróbują ich użyć. Jeśli instrukcje nie są dostępne do użycia, wywołania tych funkcji powodują wyjątek niedozwolonej instrukcji (0xc000001d). Dotyczy to między innymi funkcji log, log10 i pow.
Ten problem występuje najprawdopodobniej w następujących scenariuszach:
W starszej wersji systemu operacyjnego Windows, która nie obsługuje zapisywania stanu AVX (na przykład Windows Vista), jeśli jest używana na komputerze obsługującym zestaw instrukcji AVX
Jeśli zapisywanie stanu AVX jest jawnie wyłączone w konfiguracji rozruchu systemu operacyjnego
W środowisku preinstalacji systemu Windows (Windows PE)
Uwaga: środowisko Windows PE nie obsługuje zapisywania stanu AVX.
Przyczyna
Ten problem występuje, ponieważ środowisko uruchomieniowe Visual C++ 2013 x64 C Runtime nie sprawdza, czy system operacyjny obsługuje zapisywanie stanu AVX przed podjęciem próby uruchomienia instrukcji AVX lub FMA3.
Rozwiązanie
Ta aktualizacja pakietu redystrybucyjnego programu Microsoft Visual C++ 2013 Update 5 została wydana jako aktualizacja tylko do pobrania i nie jest rozpowszechniana za pośrednictwem usługi Windows Update. Redystrybucja tej aktualizacji jest dozwolona na tych samych postanowieniach licencyjnych, które zostały przyznane w wersji Microsoft Visual Studio 2013 Update 5.
Jeśli tworzysz statyczne połączenie ze środowiskiem wykonawczym języka C Visual C++ 2013, dostępna jest poprawka dla programu Visual Studio 2013. Aby uzyskać więcej informacji, zobacz następujący artykuł z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
Centrum pobierania Microsoft
Poniższe pliki są dostępne do pobrania w Centrum pobierania Microsoft.
Ścieżka pliku x64.exe
Ścieżka pliku x86.exe
Informacje o plikach
VCRedist_x86.exe ścieżka instalacji:
- System operacyjny x86: %WinDir%\System32
- System operacyjny x64: %WinDir%\SysWow64
| Nazwa pliku | Rozmiar pliku (x86) | Wersja pliku |
|---|---|---|
| msvcr120.dll | 949 KB | 12.0.40660.0 |
| msvcp120.dll | 445 KB | 12.0.40660.0 |
| vcamp120.dll | 332 KB | 12.0.40660.0 |
| vcomp120.dll | 118 KB | 12.0.40660.0 |
| vccorlib120.dll | 243 KB | 12.0.40660.0 |
| mfc120.dll | 4 321 KB | 12.0.40660.0 |
| mfc120u.dll | 4 347 KB | 12.0.40660.0 |
| mfc120chs.dll | 46 KB | 12.0.40660.0 |
| mfc120cht.dll | 46 KB | 12.0.40660.0 |
| mfc120deu.dll | 74 KB | 12.0.40660.0 |
| mfc120enu.dll | 64 KB | 12.0.40660.0 |
| mfc120esn.dll | 73 KB | 12.0.40660.0 |
| mfc120fra.dll | 74 KB | 12.0.40660.0 |
| mfc120ita.dll | 72 KB | 12.0.40660.0 |
| mfc120jpn.dll | 53 KB | 12.0.40660.0 |
| mfc120kor.dll | 53 KB | 12.0.40660.0 |
| mfc120rus.dll | 70 KB | 12.0.40660.0 |
Vcredist_x64.exe ścieżka instalacji:
- System operacyjny x64: %WinDir%\System32
| Nazwa pliku | Rozmiar pliku (x64) | Wersja pliku |
|---|---|---|
| msvcr120.dll | 941 KB | 12.0.40660.0 |
| msvcp120.dll | 645 KB | 12.0.40660.0 |
| vcamp120.dll | 471 KB | 12.0.40660.0 |
| vcomp120.dll | 135 KB | 12.0.40660.0 |
| vccorlib120.dll | 349 KB | 12.0.40660.0 |
| mfc120.dll | 5 477 KB | 12.0.40660.0 |
| mfc120u.dll | 5 503 KB | 12.0.40660.0 |
| mfc120chs.dll | 46 KB | 12.0.40660.0 |
| mfc120cht.dll | 46 KB | 12.0.40660.0 |
| mfc120deu.dll | 74 KB | 12.0.40660.0 |
| mfc120enu.dll | 64 KB | 12.0.40660.0 |
| mfc120esn.dll | 73 KB | 12.0.40660.0 |
| mfc120fra.dll | 74 KB | 12.0.40660.0 |
| mfc120ita.dll | 72 KB | 12.0.40660.0 |
| mfc120jpn.dll | 53 KB | 12.0.40660.0 |
| mfc120kor.dll | 53 KB | 12.0.40660.0 |
| mfc120rus.dll | 70 KB | 12.0.40660.0 |