У меня есть вопрос о двоичном файле исходного кода в Windows.
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
Тот же исходный код, я скомпилировал дважды в Windows (Подсказка VS 2008 Cmmand: "CL"), но я получил различные двоичные файлы.
cl new.cpp
Можете Вы парни говорить мне, почему, и как избежать этого?
Временная метка является частью формата PE. Вы всегда будете получать разные значения, независимо от того, компилируете вы релиз или нет.
Вы компилировали как release? В Debug встроены временные метки, которые могут изменить ваш exe на компиляцию
Я погуглил и нашел промежуточное решение:
DUMPBIN /RAWDATA MyApp.EXE > first.txt
DUMPBIN /RAWDATA MyApp.EXE > second.txt
http://support.microsoft.com/kb/164151 Как сравнить двоичные образы одних и тех же сборок проекта