Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Symptomen

Wanneer u een programma met behulp van Microsoft Visual C++ 2013, het programma loopt vast en het foutbericht 'Ongeldige instructie' uitzondering. Dit komt doordat sommige functies van de drijvende-kommaberekeningen bibliotheek in de Visual C++-2013 x64 C-Runtime (CRT) niet goed controleren of bepaalde instructies AVX en FMA3 beschikbaar zijn voordat de functies probeert te gebruiken. Als de instructies niet beschikbaar voor gebruik zijn, dat deze functies aanroepen van een ongeldige instructie-uitzondering (0xc000001d). Kwetsbare functies zijn logboek log10, en pow en anderen.

Dit probleem is waarschijnlijk in de volgende gevallen voordoen:

  • Op een oude versie van het Windows-besturingssysteem die geen ondersteuning biedt voor AVX staat op te slaan (bijvoorbeeld Windows Vista) als deze wordt gebruikt op een computer waarop de AVX-instructieset

  • Als het opslaan van AVX staat expliciet wordt uitgeschakeld in de configuratie van de boot besturingssysteem

  • In de Windows-voorinstallatieomgeving (Windows PE)

    Opmerking Windows PE biedt geen ondersteuning voor AVX staat opslaan.


Dit probleem is gemeld voor Microsoft Connect:

x64 log() functie vpsrlq AVX instructie ongeacht het besturingssysteem wordt gebruikt (dus het loopt op Vista-x64 vast)

Visual Studio 2013 RTM: X64 C++-code generatie bug voor instructies AVX2

Oorzaak

Dit probleem doet zich voor omdat de Visual C++-2013 x64 C Runtime niet wordt gecontroleerd of het besturingssysteem AVX staat opslaan ondersteunt voordat u deze probeert uit te voeren AVX of FMA3.

Oplossing

Als alle desbetreffende C++ binaire bestanden die zijn gemaakt met Visual C++ 2013 gebruikt de C Runtime dll-bestand (msvcr120.dll), de bijgewerkte Microsoft Visual C++ 2013 Redistributable – 12.0.40660.0 of hoger installeren.

Als u de desbetreffende C++ binaire Visual C++ 2013 C Runtime statisch worden gekoppeld, moet u de installatie van Visual Studio 2013 bijwerken door de installatie van de hotfix 3174417 en opnieuw opbouwen en de desbetreffende binaire bestanden opnieuw te implementeren.









Opmerking Dit probleem heeft geen invloed op oudere versies van Visual C++ C Runtime (Visual C++ 2012 en eerdere versies). Het probleem is opgelost voordat de eerste versie van de universele CRT die wordt gebruikt door Visual C++ 2015.

Microsoft Downloadcentrum

Als het statisch gekoppelde Visual C++ 2013 C Runtime, de 3174417 hotfix is uitgebracht als een update alleen downloaden en wordt niet gedistribueerd via Windows Update. Het is beschikbaar op de website Microsoft Download Center:

Download Het pakket nu downloaden.

Om het dynamisch gekoppelde Visual C++ 2013 C Runtime dll-bestanden bijwerken, een bijgewerkte redistributable beschikbaar is. Zie voor meer informatie het volgende artikel in de Microsoft Knowledge Base:

3179560 update voor 2013 met Visual C++ en Visual C++ Redistributable Package

Tijdelijke oplossing

Om dit probleem te omzeilen, FMA3 in de bibliotheek wiskunde uit te schakelen als u hebt van dit probleem last. U kunt een query uitvoeren of het systeem AVX instructies wordt ondersteund door het aanroepen van GetEnabledXStateFeatures en AVX in de CRT expliciet uitschakelen door het aanroepen van _set_FMA3_enable(0).

Zie werken met de Context van de XStateop de MSDN-website voor meer informatie.

De functie _set_FMA3_enable(0) wordt gedefinieerd in < math.h > en deze is alleen beschikbaar als u voor een x64 maken. (Dit probleem heeft gevolgen voor alleen de x64 bibliotheken.) Hierdoor wordt de bibliotheek wiskunde te herstellen met behulp van de niet-FMA3-implementaties.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×