Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Quando você cria um programa usando o Microsoft Visual C++ 2013, o programa falha e você recebe uma exceção "Instrução ilegal". Isso ocorre porque algumas funções da biblioteca de matemática de ponto flutuante em tempo de execução do Visual C++ 2013 x64 C (CRT) não corretamente verificar se determinadas instruções AVX e FMA3 estão disponíveis antes que as funções de tentam usá-los. Se as instruções não estão disponíveis para uso, chamadas para essas funções causam uma exceção de instrução ilegal (0xc000001d). Funções afetadas incluem o registro, log10 e pow e outros.

Esse problema é mais provável de ocorrer nas seguintes situações:

  • Em uma versão antiga do sistema operacional Windows que não dá suporte a AVX estado salvar (por exemplo, o Windows Vista) se ele é usado em um computador que suporta o conjunto de instruções AVX

  • Se a gravação de estado AVX explicitamente está desabilitada na configuração de inicialização do sistema operacional

  • No ambiente de pré-instalação do Windows (Windows PE)

    Observação: O Windows PE não dá suporte à economia de estado AVX.


Esse problema foi relatado no Microsoft Connect:

x64 log() função usa instruções de AVX vpsrlq independentemente do sistema operacional (de modo que ele falha no Vista x64)

Visual Studio 2013 RTM: Erro de geração de instruções de AVX2 de código C++ x64

Causa

Esse problema ocorre porque o tempo de execução do Visual C++ 2013 x64 C não verifica se o sistema operacional suporta AVX estado salvar antes de tentar executar instruções AVX ou FMA3.

Resolução

Se todos os binários afetados do C++ são criados usando o Visual C++ 2013 usam a DLL de tempo de execução do C (msvcr120.dll), instale a atualização Microsoft Visual C++ 2013 redistribuível – 12.0.40660.0 ou uma versão posterior.

Se os binários afetados do C++ estaticamente vinculam o Visual C++ 2013 C Runtime, você deve atualizar a sua instalação do Visual Studio 2013 instalar o hotfix 3174417 e recriar e reimplantar os binários afetados.









Observação: Esse problema não afeta as versões anteriores do Visual C++ C Runtime (Visual C++ 2012 e versões anteriores). O problema foi corrigido antes do lançamento inicial do CRT Universal que é usado pelo Visual C++ 2015.

Centro de Download da Microsoft

Para atualizar o Visual C++ 2013 C Runtime vinculadas estaticamente, o hotfix 3174417 é lançado como uma atualização somente para download e não é distribuído através do Windows Update. Ela está disponível no site Microsoft Download Center:

Download Baixe o pacote agora.

Atualizar dinamicamente vinculado Visual C++ 2013 C Runtime DLLs, um atualizado redistribuível está disponível. Para obter mais informações, consulte o seguinte artigo da Base de Conhecimento Microsoft:

Atualização 3179560 para 2013 do Visual C++ e o pacote redistribuível do Visual C++

Solução alternativa

Para contornar esse problema, desative FMA3 na biblioteca de matemática se você tiver sido afetado por esse problema. Você pode consultar se o sistema suporta instruções AVX chamando GetEnabledXStateFeatures e desativar AVX no CRT explicitamente chamando _set_FMA3_enable(0).

Para obter mais informações, consulte Trabalhando com contexto de XStateno site do MSDN.

A função _set_FMA3_enable(0) foi declarado em < math.h > e está disponível somente quando você construir para x64. (Este bibliotecas de afeta apenas o x64 de problema). Isso faz com que a biblioteca de matemática voltar a usar as implementações não FMA3.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×