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

Você usar a opção de compilador /Ot (Favor Fast código) quando você criar um aplicativo que está configurado no x64 plataforma no Microsoft Visual Studio 2005 Service Pack 1 (SP1). Quando você executa o aplicativo, algumas declarações se podem executar incorretamente. Portanto, os resultados serão imprevisíveis. Por exemplo, as instruções se podem ser ignoradas no código gerado do aplicativo.

Esse problema ocorre apenas nas seguintes situações.

  • Existem algumas instruções MOV entre duas operações de comparação.

  • Esses comparam operações use os mesmos operandos.

  • Os valores dos operandos forem alterados, as instruções MOV.

Nesse cenário, as instruções se na segunda operação de comparação podem ser ignoradas.

Observações:

  • Esse problema também pode ocorrer quando você usar a opção /O2 ou /Ox para criar o aplicativo.

  • Esse problema não ocorre no x86 plataforma.

Causa

Esse problema ocorre porque o otimizador de compilador incorretamente pressupõe que o sinalizador é definido pela operação XOR pode ser usado sem incluir uma operação de comparação.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente nos sistemas que estiverem enfrentando o problema descrito neste artigo. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix.

Se o hotfix estiver disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo da Base de Conhecimento. Se essa seção não for exibida, entre em contato com o suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação: caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação: o formulário "Baixar Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Caso você não veja seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos:

Você deve ter o Visual Studio 2005 SP 1 instalado para aplicar esse hotfix.

Requisitos de reinicialização:

Você não precisa reiniciar o computador após aplicar esse hotfix.

Informações de substituição do hotfix:

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo:

A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

C2.dll

14.0.50727.3080

2,273,280

19 de novembro de 2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19 de novembro de 2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19 de novembro de 2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19 de novembro de 2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19 de novembro de 2008

23:33

x86

Solução alternativa

Para contornar esse problema, use um dos seguintes métodos:

  • Use a palavra-chave volátil quando você declarar as variáveis que são usadas em instrução se .

  • Desative a opção de otimização da velocidade. Por exemplo, substitua a opção /Ot com a opção /Os (Favor pequeno código) . Ou, use a opção /O1 em vez da opção /O2 ou /Ox .

  • Adicione uma linha de código antes da operação de comparar as instruções if no segundo. Por exemplo, adicione uma instrução printf .

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Mais informações

Para obter mais informações sobre o código de um ou mais instruções podem executar incorretamente quando você usar o recurso de otimização de código no Visual Studio 2005, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

925792 uma ou mais instruções de código podem executar incorretamente quando você usar o recurso de otimização de código no Visual Studio 2005

Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

824684 descrição da terminologia padrão usada para descrever as atualizações de software

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!

×