LINUX.ORG.RU

GCC, Cygwin меняется файл при каждой пересборке

 , ,


2

1

При каждой линковке немного меняется бинарный файл. Похоже gcc туа записывает дату компиляции. Если возможность как-то это запретить?

Comparing files dbc_processor.exe and DBC_PROCESSOR.EXE~
00000088: 80 C3
00000089: EA DF
000000D8: BF 02
000000D9: EC E2

Ответ на: комментарий от egorcod

Смысл, прост, получать одинаковые до бита исполняемые файлы после компиляции из исходников. И что бы если Вася собрал на машине A программу она была бит в бит программы которую собрал Толя на машине Б. Только вот на практике это порой проблематично

LINUX-ORG-RU ()
Ответ на: комментарий от egorcod

Везде, это стараются делать все дистрибутивы, хеш любого файла включая исполняемые твоя система знает это проверяет пакетная на этапе сборки. И это является одной из гарантий того что файл проверен и чист от малвари к примеру. Если у тебя есть сомнения на счёт какого либо приложения мы можешь узнать его хеш и сравнить с тем что в репозитории твоего дистрибутива, или иное ты получил исходник якобы от дистрибутива компилируешь его и исполняемый файл вдруг имеет иной хеш чем тот что в дистрибутиве, если ты параноик это может стать колокольчиком того что в твоей системе хрень которая вклинивается в исполняемые файлы.

И другие сценарии, ещё проще говоря, если ты положил в сумку два вилка капусты по 1 кг то это должно весить 2кг , а не 1,5 или 3 или вообще там 4 вилка или 1 будет. Вот и всё. Это подразумевается как само собой разумеющееся. Но не всегда так

LINUX-ORG-RU ()
Ответ на: комментарий от egorcod

Собранные исполняемые файлы складываются в систему контроля версий. Чтобы при каждой пересборке они не выкладывались, надо сделать чтобы файл менялся только если поменялся его код, а не например комментарий.

vromanov ★★ ()