Introdução
O hotfix descrito neste artigo corrige os seguintes problemas no Microsoft Visual Studio 2010.
Problema 1
Você enfrentar um comportamento inesperado quando você executa um aplicativo que tenha loops no código-fonte. Esse problema ocorre se o código-fonte é compilado com a otimização global (/ Og) habilitado.
Problema 2
Considere o seguinte cenário:
- 
                  Você tem um projeto do Visual C++ que inclui o arquivo Atlcomcli.h. 
- 
                  Você especifica a opção de compilador /J para definir o_CHAR_UNSIGNEDmacro no projeto. 
- 
                  Compilar o projeto. 
Nesse cenário, você recebe uma das seguintes mensagens de erro:
- 
                  Erro C2338: CVarTypeInfo < char > não pode ser compilado com o sinalizador /J ou _CHAR_UNSIGNED ativado 
- 
                  Erro C2338: CVarTypeInfo < char * > não pode ser compilado com o sinalizador /J ou _CHAR_UNSIGNED ativado 
Problema 3
Uma violação de acesso ocorre quando você executa um aplicativo do Visual C++ foi criado para uma versão baseada em x86 do Windows. Esse problema ocorre quando o aplicativo tem uma árvore de expressão que tem dois argumentos de entrada de tipo de matriz.
Causa
Causa do problema 1
Esse problema ocorre porque uma otimização incorretos de loop é executada. Isso faz com que a geração de código incorreto.
Causa do problema 2
Esse problema ocorre porque asserções estáticas no arquivo Atlcomcli.h estão definidas incorretamente para a opção /J e a macro CHAR_UNSIGNED.
Causa do problema 3
Esse problema ocorre porque os argumentos nas instruções de envio são misturados. Portanto, argumentos incorretos são passados para as instruções de envio.
Mais informações
Informações sobre o hotfix
Um hotfix suportado está disponível agora na Microsoft. No entanto, destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde o próximo 2010 de Visual Studio que contém esse hotfix.Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e informações sobre custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação: em alguns casos, as taxas cobradas para chamadas de suporte podem ser canceladas caso um profissional de Suporte da Microsoft determine que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.
Pré-requisitos:
Você deve ter o Microsoft Visual Studio 2010 instalado para aplicar esse hotfix.
Requisitos de reinicialização:
Você não precisa reiniciar o computador após aplicar o hotfix se nenhum arquivo afetado está sendo usado.
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 encontrar a diferença entre o UTC e a hora local, use aFuso horárioGuia deData e horaitem no painel de controle.
| Nome do Arquivo | Versão do arquivo | Tamanho do arquivo | Data | Hora | Plataforma | 
|---|---|---|---|---|---|
| C2.dll | 16.0.30319.314 | 2,510,144 | 30-May-2010 | 20:48 | x86 | 
| C2.dll | 16.0.30319.314 | 2,588,480 | 30-May-2010 | 20:48 | x86 | 
| C2.dll | 16.0.30319.314 | 2,630,976 | 30-May-2010 | 20:48 | x86 | 
| C2.dll | 16.0.30319.314 | 2,977,600 | 30-May-2010 | 20:48 | x64 | 
| C2.dll | 16.0.30319.314 | 7,351,616 | 30-May-2010 | 20:48 | IA-64 | 
Solução alternativa
Solução alternativa para o problema 1
Para contornar esse problema, desative a otimização global. Para obter mais informações sobre como desativar a otimização global, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
Corrigir 216181 : gerado com /Og otimização de código incorreto
Solução alternativa para o problema 2
Para contornar esse problema, use a seguinte diretiva pragma para incluir o arquivo Atlcomcli.h.
#pragma push_macro("ATLSTATIC_ASSERT")#undef ATLSTATIC_ASSERT#define ATLSTATIC_ASSERT(x,y) #include <atlcomcli.h>#undef ATLSTATIC_ASSERT#pragma pop_macro("ATLSTATIC_ASSERT") 
                         
				 
				