Моей средой является Linux CentOS 6.2. И у меня есть система управления версиями, такая как svn/hg/git и т. Д. Мой исходный код - C/C++.Как я могу запросить версию исходного кода двоичного кода
Я хочу проверить двоичный файл сборки, чтобы сохранить, какая бинарная версия будет выпущена клиенту.
И я предполагаю, что контрольная сумма встроенного двоичного кода будет отличаться при изменении исходного кода. Итак, я мог бы отследить, какой бинарный файл создается из какой версии.
Возможно ли, какие трюки я должен соблюдать?
Я видел, как некоторые исполняемые файлы отображают ревизию при выполнении с параметром -version. Но мне интересно, как предотвратить запись неправильной строки -версии в исполняемый файл.
Если я сохраню файл md5.txt и зарегистрирую его вместо проверки в двоичном формате. Как я могу убедиться, что смогу снова создать тот же исполняемый файл md5?
К сожалению, для очистки мой вопрос и предотвращения еще один неожиданный ответ, я предпочитаю ответ, как:
- Держите md5sum.txt в ВСМ, когда выпуск новой версии пользователю.
- Храните двоичный файл отдельно от вашего SCM.
- Для восстановления же md5sum бинарного вы должны убедиться, что символ
- записи в бинарный код, когда делают (например, с помощью -DVERSION = «1.x»)
- показать VERSION строку пользователю
- удалить все $ Id, что позволяет вашему SCM работать медленнее.
- держать же CPU & OS & компилятор & библиотеки среды
- ...
не проверять в двоичных файлах , Нет, просто нет. –
Вам не нужно проверять двоичный файл. Если вы ДОЛЖНЫ записать что-либо, просто проверьте контрольные суммы MD5 или SHA1 (в формате ASCII). –
И если вы * делаете * проверяете двоичные файлы, зачем вам проверять двоичный файл, который построен из чего-либо другого, кроме исходного дерева, в котором двоичный файл проверяется рядом? Если вы спросите систему управления версиями, какая версия последней модифицировала двоичный файл, и проверьте эту ревизию, вы должны быть уверены, что она содержит код, из которого был создан двоичный файл. – Wyzard