Incorreto inicialização valor global se você usar cabeçalho pré-compilados

Traduções deste artigo Traduções deste artigo
ID do artigo: 318139 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Se você usar um cabeçalho pré-compilado (como /Yu, /Yx ou /Yc), valores globais não podem ser inicializadas corretamente.

Resolução

Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do Microsoft Visual Studio .NET que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Date         Time    Version      Size       File name   Platform
   -----------------------------------------------------------------
   07-Mar-2002  15:57   13.00.9478   2,105,344  C1xx.dll    x86
   07-Mar-2002  15:57   13.00.9478   1,757,184  C2.dll      x86
				

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Passos para reproduzir o problema

  1. Criar um novo arquivo chamado IncludeFile1.h, adicione o seguinte código para IncludeFile1.h e em seguida, salve o arquivo:
    const double gVal1 = 1234.567;
    const double gVal2 = gVal1;
    					
  2. Criar um novo arquivo chamado IncludeFile2.h, adicione o seguinte código para IncludeFile2.h e em seguida, salve o arquivo:
    const double gVal3 = 10 * gVal2;
    					
  3. Criar um novo arquivo chamado stdafx.h, adicione o seguinte código para stdafx.h e em seguida, salve o arquivo:
    #include "IncludeFile1.h"
    					
  4. Criar um novo arquivo chamado stdafx.cpp, adicione o seguinte código para stdafx.cpp e em seguida, salve o arquivo:
    #include "Stdafx.h"
    					
  5. Use a seguinte opção de compilador C++ em stdafx.cpp:
    / Yc"stdafx.h"
  6. Criar um novo arquivo chamado MyFile.cpp, adicione o seguinte código para MyFile.cpp e em seguida, salve o arquivo:
    #include "stdafx.h"
    #include "IncludeFile2.h"
    					
  7. Use a seguinte opção de compilador C++ em MyFile.cpp:
    / Yu"stdafx.h"
    Observe que //gVal3 incorretamente é inicializado para uso em MyFile.cpp.

Propriedades

ID do artigo: 318139 - Última revisão: quinta-feira, 24 de outubro de 2013 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ .NET 2002 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbcompiler kbfix kbqfe KB318139 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318139

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com