![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему Delphi так корябает экзешники между сборками [D5, WinXP]
Князев Сергей © (2004-06-11 08:53:00)Проблема такая: написал прогу занимет примерно 7Мб, собрал проект, откомпилировал. Затем собрал проект заново и снова откомпилировал (в коде ничего не менял). Сравнил побайтно две эти версии получилось, что отличий набралось на 5Мб. Но ведь поменялась только версия программы. Из-за чего такое происходит.
Задача была слудующая найти различия в двух версиях одной и тойже проги и вывести различия в файл. Все это реализовано, но вот почему столько много этих различий непонятно. Все труды на смарку, что ли; предполагалось, что различий будет чуть-чуть, а тут.....
Спасибо за ответы!!!
Anatoly Podgoretsky (2004-06-11 20:02:00) [1]Можно скащать, что и одно
Mim1 (2004-06-11 19:44:00) [2]Вот сравните вде строки
'1234567890' и
'0123456789'
Сколько в них различий? 2 или 10?
ЮрийК (2004-06-11 16:29:00) [3]Удалено модератором
Примечание: Личная переписка
ЮрийК (2004-06-11 16:27:00) [4]Удалено модератором
Примечание: Личная переписка
ЮрийК (2004-06-11 16:17:00) [5]Предлагаю поменять в "Project Options\Linker" опцию "Generate DCUs" на "Generate C или C++ object files". Вроде бы всё дело в DCU файлах, что то в них каждый раз кардинально меняется при собирании нового DCU файла.
Князев Сергей (2004-06-11 16:04:00) [6]
> Anatoly Podgoretsky © (11.06.04 15:58) [8]
Не верите так проверьте, трудно Дэльфи открыть собрать и откомпилить какой-нить проект два раза, а затем проверить по содержимому.
ЮрийК (2004-06-11 16:03:00) [7]Пожалуй здесь этого никто не объяснит. Сам удивляюсь таким делам. Ничего не меняешь, а просто пересобираешь, а отличия идут практически по всему файлу EXE, а не в каких-то нескольких местах.
Anatoly Podgoretsky (2004-06-11 15:58:00) [8]что отличий набралось на 5Мб
Князев Сергей (2004-06-11 15:55:00) [9]
> Anatoly Podgoretsky © (11.06.04 12:20) [6]
> Князев Сергей (11.06.04 10:34) [3]
> Ну тогда не рассказывай про 5 мегабайт различий.
Не понял, а это к чему, не соблаговолите объяснить по-подробней
Anatoly Podgoretsky (2004-06-11 12:20:00) [10]Князев Сергей (11.06.04 10:34) [3]
Ну тогда не рассказывай про 5 мегабайт различий.
Князев Сергей (2004-06-11 12:06:00) [11]
> И даты создания у них идентичны?
Извини конечно, но по моему вопрос не в тему. Прочитай пункт 5, к тому же Я писал ПОБАЙТНОЕ СРАВНЕНИЕ, а не внешние атрибуты файла изучать.
Читать надо побайтное сравнение даст нулевой результат, т.е. файлы ИДЕНТИЧНЫ.
Романов Р.В. (2004-06-11 10:41:00) [12]
> Потому как, если пропустить шаг 2, просто откомпилировать
> два раза, то файлы будут идентичны
И даты создания у них идентичны?
Князев Сергей (2004-06-11 10:34:00) [13]
> А если добавить или удалить одни байт в начале, то получишь
> различие почти по всем 7 мб. Сравнение должно быть интеллектуальное,
> а не физическое байт в байт.
Так в том то и дело, что ничего не меняю, даже версию билда.
Проверьте сами, последовательность действий:
1. Делаешь Build
2. Делаешь Compile
3. Сохраняешь EXE файл
4. Повторяешь действия 1 и 2
5. Сравниваешь ранее сохраненный файл с новеньким. Например в Total Commander меню Файл-Сравнить по содержимому. И видишь, что различий дофигища.
Теоретически, как мне кажется, их быть-то не должно. Потому как, если пропустить шаг 2, просто откомпилировать два раза, то файлы будут идентичны. Вопрос: чего меняется на этапе Build и можно ли это как-то устранить.
Anatoly Podgoretsky (2004-06-11 09:20:00) [14]А если добавить или удалить одни байт в начале, то получишь различие почти по всем 7 мб. Сравнение должно быть интеллектуальное, а не физическое байт в байт.
Романов Р.В. (2004-06-11 09:01:00) [15]
> Задача была слудующая найти различия в двух версиях одной
> и тойже проги и вывести различия в файл.
А анализировать различия кто будет?
Нет ли смещения на несколько байт?