ID do artigo: 164151 - Última revisão: sexta-feira, 26 de outubro de 2007 - Revisão: 3.1 Como comparar imagens binárias do projeto mesmo cria
SumárioÀs vezes, talvez você precise comparar compilação imagens (EXE, DLL, etc.) de projeto mesmo que foram criadas em momentos diferentes. Como as imagens contêm carimbos de data e hora, uma comparação de arquivo simples relata as diferenças entre as imagens. Você pode usar o utilitário DUMPBIN para gerar de comparação de arquivo correto. Mais InformaçõesOs carimbos de data e hora podem ser removidos da imagem interna sem remover as informações relevantes (código e dados) usando o /RAWDATA alternar disponíveis no utilitário DUMPBIN. Em seguida, pode ser usado qualquer utilitário de comparar arquivos em DUMPBIN saída da seguinte maneira: DUMPBIN /RAWDATA MyApp.EXE > first.txt DUMPBIN /RAWDATA MyApp.EXE > second.txt
FC /B first.txt second.txt
Observação : não há nenhuma garantia de que o Visual C++ irá gerar a mesma imagem binária ao criar os mesmos arquivos fonte em compilações sucessivas. No entanto, você é garantido que o EXE (ou DLL) irão se comportar exatamente da mesma maneira em execução, outros tudo sendo igual. Compilar e vincular opções e vincular uma função em imagens binárias dois irão comparar igualmente a ordem de reprodução. Se você siga os procedimentos descritos acima e comparar as duas imagens igualmente, as imagens são os mesmos. Se as duas imagens não comparar igualmente, em seguida, ainda há incertezas quanto ao se as imagens são os mesmos ou não. A seção de recurso do executável contém carimbos de data/hora. Na seção de recurso do executável, há um cabeçalho para cada tipo de recurso (por exemplo, tabela de seqüência de caracteres, diálogo, ícone). Cada um desses cabeçalhos contém um carimbo de data/hora. Use o executável portátil da Microsoft e a especificação de formato de arquivo objeto comum da biblioteca MSDN para alterar os carimbos de data/hora para que eles não ser um fator na comparação ou ignorar a seção de recursos na comparação. Para identificar a seção que contém as diferenças, execute o utilitário WinDiff fornecido com o Visual C++: WINDIFF first.txt second.txt RAW DATA #5 dumpbin /headers MyApp.exe
SECTION HEADER #5
.rsrc name
A tabela de Directory exportar tem também um carimbo de data/hora. Isso normalmente está localizado na seção .RDATA (Visual C++ 4.2 e posterior) ou na seção .edata (anteriores ao Visual C++ 4.2). Esta tabela existe somente se você exportar símbolos de imagem do PE. A tabela de diretório de importação também tem um carimbo de data/hora. Isso normalmente está localizado na seção .idata. Existe uma dessas tabelas para cada DLL ao qual a imagem se refere. Esse carimbo de data/hora é zero, a menos que a imagem está vinculada. Depois que a imagem estiver acoplada, o carimbo de data/hora é definido como o carimbo de data/hora da DLL de onde os símbolos são importados. Novamente, consulte o executável portátil da Microsoft e o Common Object arquivo formato Specification na biblioteca MSDN para obter informações sobre como localizar as informações de data/hora em uma imagem. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 164151
(http://support.microsoft.com/kb/164151/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início