ВИПРАВЛЕННЯ:, Програми, створені за винятком "Неприпустима інструкція" у Visual C++ 2013 року.

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 3174417
Ознаки
При створенні програми за допомогою Microsoft Visual C++-2013, програма аварійно завершує роботу, і з'являється «Неприпустима інструкція» винятки. Це відбувається, тому, що деякі функції з рухомою комою математика на виконання Visual C++ 2013 року x64 C (CRT) не належним чином перевіряти функції, а потім їх сценарій виконання певних AVX та FMA3 інструкції будуть доступні. Інструкції не доступні для сценарій виконання, викликах функцій, ці спричинити неприпустима інструкція винятки (0xc000001d). Такі функції, містять журналу, log10 і pow та інші.

Ця проблема є відбуваються у таких випадках:
  • На старої версії операційної системи Windows, які не підтримують AVX стан збереження (наприклад, Windows Vista), якщо він використовується на комп'ютері, який підтримує набір інструкцій AVX
  • Якщо AVX стану збереження явно вимкнуто в конфігурації завантаження операційної системи
  • У середовищі попередньої інсталяції Windows (Windows PE)

    Примітка AVX стану збереження не підтримує середовище Windows PE.

Як повідомляють, ця проблема з Microsoft Connect:

причина
Ця проблема виникає в тому, що виконання Visual C++ 2013 року x64 C не перевірити, чи операційна система (ОС) підтримує, що AVX стану збереження, перш ніж вона намагається виконати AVX або FMA3 інструкцій.
Розв'язанн
Всі задіяні C++ двійкові файли, створені за допомогою Visual C++-2013, сценарій виконання бібліотеки DLL C Runtime (msvcr120.dll), інсталюйте на оновлені Microsoft 2013 вторинного розповсюдження Visual C++-12.0.40660.0 або пізнішої версії.

Якщо ваш впливу двійкових файлів C++ статично посилання на Visual C++ 2013 виконання C, необхідно оновити вашу копію Visual Studio-2013 інсталяція 3174417 виправлення та відновлення redeploying такі файли.

Примітка. Ця проблема не впливає на старіші версії Visual c + + C Runtime (Visual C++-2012 і попередні версії). Виправлено проблему до випуску універсальний CRT, який використовується в Visual C++ 2015 р.

Центр завантажень Microsoft

Щоб оновити статично Visual C++ 2013 C Runtime, 3174417 виправлення випущено як тільки для завантаження оновлення і не розповсюджується за допомогою служби Windows Update. Вона доступна на сайті центру завантажень Microsoft:

ЗавантажитиЗавантажити пакет оновлень.

Оновлення динамічно пов'язаних Visual C++ 2013 C Runtime DLL, оновлена вторинного розповсюдження доступна. Щоб отримати додаткові відомості див. таку статтю бази знань Майкрософт:

Обхідний шлях
У разі зазнають цієї проблеми Towork, усунути цю проблему, відключіть FMA3, у бібліотеці математичних символів. Можна надсилати запит, чи система підтримує AVX інструкції, зателефонувавшиGetEnabledXStateFeatures та вимкнення AVX, у полі CRT, явно, зателефонувавши за номером _set_FMA3_enable(0).

Щоб отримати додаткові відомості див. Робота з XState контексту на веб-сайті MSDN.

Функції- _set_FMA3_enable(0) оголошена в <math.h>, і вона доступна лише тоді, коли ви створити для x64. (Ця проблема впливає лише на x64 бібліотеки.) Це призводить до бібліотеки математичних символів до сценарій виконання non-FMA3 впровадження. </math.h>

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 3174417 – останній перегляд: 07/29/2016 05:58:00 – виправлення: 1.0

Visual Studio 2013 Community Edition

  • kbfix kbqfe atdownload kbexpertiseadvanced kbsurveynew kbmt KB3174417 KbMtuk
Зворотний зв’язок