Artigo: 164151 - Última revisão: sexta-feira, 26 de Outubro de 2007 - Revisão: 3.1 Como comparar imagens binárias do mesmo projecto cria
SumárioPor vezes, poderá ter de comparar as compilação imagens (EXE, DLL, etc.) do mesmo projecto criadas em alturas diferentes. Uma vez que as imagens contêm carimbos de data e hora, uma comparação de ficheiros simples comunica as diferenças entre as imagens. Pode utilizar o utilitário DUMPBIN para gerar a comparação de ficheiro correcto. Mais InformaçãoOs carimbos de data e hora podem ser removidos da imagem incorporada sem remover as informações relevantes (código e dados), utilizando o /RAWDATA mudar disponível no utilitário DUMPBIN. Em seguida, pode ser utilizado qualquer utilitário de comparação de ficheiros em DUMPBIN saída da seguinte forma: DUMPBIN /RAWDATA MyApp.EXE > first.txt DUMPBIN /RAWDATA MyApp.EXE > second.txt
FC /B first.txt second.txt
Nota : é garantido que o Visual C++ irá gerar a mesma imagem binária durante a criação mesmos ficheiros de origem no compilações sucessivas. No entanto, é garantido que EXE ou (DLL) funcionarão exactamente da mesma forma em execução, todas as outras coisas que ser igual. Compilar e opções de ligação e ligar uma função em se duas imagens binárias vão comparar igualmente a ordem de reprodução. Se seguir os procedimentos descritos acima e as duas imagens comparar igualmente, as imagens são iguais. Se as duas imagens não são igualmente comparar, em seguida, ainda existe incerteza como a se as imagens são iguais ou não. A secção de recursos do executável contém carimbos de data/hora. Na secção recursos do executável, existe um cabeçalho para cada tipo de recurso (por exemplo, tabela de cadeia, diálogo, ícone). Cada um destes cabeçalhos contém um carimbo de data/hora. Utilize o Microsoft Portable executável e comum objecto ficheiro de formato especificação a partir da MSDN Library para alterar as marcas de data/hora, de modo a que o podem não ser um factor na comparação ou ignorar a secção de recursos na comparação. Para identificar a secção que contém as diferenças, execute o utilitário WinDiff enviados com o Visual C++: WINDIFF first.txt second.txt RAW DATA #5 dumpbin /headers MyApp.exe
SECTION HEADER #5
.rsrc name
A tabela de exportação do tem um carimbo de data/hora bem. Isto normalmente está localizado na secção .rdata (Visual C++ 4.2 e posteriores) ou a secção .edata (anteriores ao Visual C++ 4.2). Esta tabela existe apenas se exportar símbolos a partir da imagem PE. Importar do tabela também tem um carimbo de data/hora. Isto está normalmente localizado na secção .idata. Uma destas tabelas existir para cada DLL a que a imagem se refere. Este carimbo de data/hora é zero, a menos que a imagem está ligada. Depois da imagem for dependente, o carimbo de data/hora é definido para o carimbo de data/hora da DLL de onde os símbolos são importados. Mais uma vez, consulte a Microsoft Portable executável e comum objecto ficheiro Formatar especificação na MSDN Library para obter informações sobre como localizar as informações de data/hora numa 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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 de Artigos
|






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


Voltar ao topo