CORRECÇÃO: Recebe uma mensagem de erro ou uma excepção ao compilar ou executar uma aplicação que tem algumas opções de compilador activadas no Visual Studio 2008 SP1


Sintomas


No Microsoft Visual Studio 2008 Service Pack 1 (SP1), ocorre um dos seguintes problemas.

Sintoma 1

Quando compilar um projecto que contém a opção de /arch:SSE(2) e o /fp: excepto opção, receberá a seguinte mensagem de erro:
Erro de linha de comandos D8016:'/ arch: SSE2' e ' / fp: excepto ' Opções da linha de comandos são incompatíveis.

Sintoma 2

Quando executa uma aplicação de Visual C++ que contém um não inicializada as ocorre uma excepção de vírgula flutuante de vírgula flutuante. Além disso, poderá receber a seguinte mensagem de erro:
0xC0000090: operação de vírgula flutuante inválida
Este problema ocorre caso se verifiquem as seguintes condições:
  • Adicionar o /fp: excepto opção à lista de opções de compilador para desactivar a excepção da vírgula flutuante.

  • O código de origem contém uma variável de vírgula flutuante não inicializada.
  • A variável não inicializada de vírgula flutuante está localizada numa memória que contém um valor de (NaN) sinalização não numéricos.

Sintoma 3

Quando compilar uma aplicação de Visual C++ não gerida utilizando a opção do compilador /O2 ou a opção do compilador /Ox , recebe uma excepção que é semelhante ao seguinte:
Excepção em 0x00401342 no nome_ficheironão processada: 0xC0000090: operação de vírgula flutuante inválida.
Notas
  • Pode alterar o número 0x00401342 em alturas diferentes.
  • A excepção não é gerada quando é activada a opção do compilador /Od ou a opção do compilador /O1 .

Resolução


Informações sobre correção

Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Visual Studio 2008 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos de normais do suporte serão aplicados a questões de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o Visual Studio 2008 Service Pack 1 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição da correção

Esta correcção não substitui quaisquer outras correcções.

Informações de ficheiro

A versão global desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataforma
C2.dll15.0.30729. 40562,361,65603-Mar-200910:46x86
Cl.exe15.0.30729.4056126, 77603-Mar-200910:46x86
Clui.dll15.0.30729.405619 2,32803-Mar-200910:46x86
Clui.dll15.0.30729.405620 9,73603-Mar-200910:46x86
Clui.dll15.0.30729.40567,304 de 2703-Mar-200910:46x86
Clui.dll15.0.30729.40569,880 de 2703-Mar-200910:46x86
Clui.dll15.0.30729.40561,496 de 3903-Mar-200910:46x86
Clui.dll15.0.30729.40562,008 de 3903-Mar-200910:46x86
Clui.dll15.0.30729.40567,544 de 4503-Mar-200910:46x86
Clui.dll15.0.30729.40564,200 de 4603-Mar-200910:46x86
Clui.dll15.0.30729.40567,272 de 4603-Mar-200910:46x86
Clui.dll15.0.30729.40562,392 de 4703-Mar-200910:46x86
Link.exe9.0.30729.4056799, 04803-Mar-200910:46x86

Estado


A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações


Se estes problemas ocorrem quando utiliza o Visual Studio 2008, utilize as correcções que são descritas nos seguintes artigos da Base de dados de conhecimento da Microsoft:
CORRIGIR 955025 : mensagem de erro quando compila um projecto que contém a opção de /arch:SSE(2) e o /fp: excepto a opção no Microsoft Visual Studio 2008: "erro de linha de comandos D8016:'/ arch: SSE2' e ' / fp:except'command-opções da linha são incompatíveis."

CORRIGIR 956089 : uma excepção de vírgula flutuante ocorre quando uma aplicação contém uma variável de vírgula flutuante não inicializada e está compilada com o /fp: esperava opção no Visual Studio 2008

Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft