Бинарные различия там, где их не должно быть? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Бинарные различия там, где их не должно быть? [закрыто]

Сообщение Anonymous »

У меня есть набор исполняемых файлов. Все они загружают общую библиотеку, назовите ее libConfig.so
Недавно я перенес некоторый код (около 200 строк). Он модифицирует 2 исполняемых файла и libConfig, но изменения libConfig не влияют на интерфейсы.
Я перекомпилировал и отличился от предыдущей версии. Как и ожидалось, два исполняемых файла и библиотека конфигурации имеют разный размер. Но ряд других библиотек и исполняемых файлов демонстрируют двоичные различия, в то время как размер файла остается прежним.
Я подумал, что это, вероятно, искусственные изменения, поэтому я обновил два исполняемых файла и библиотеку конфигурации до более старой версии.
Когда я запускаю программное обеспечение, третий исполняемый файл не выполняет проверку во время выполнения, жалуясь, что файл конфигурации не загружен. Ни одно из изменений не имеет никакого отношения к этому исполняемому файлу или файлу конфигурации, на который он жалуется.
Может ли кто-нибудь объяснить такое поведение?
  • Почему в моей новой сборке есть двоичные изменения, хотя их не должно быть?
  • Почему неизмененный исполняемый файл внезапно выдает ошибку?
  • Это libConfig.so вызывает проблему? Если да, то почему?


Подробнее здесь: https://stackoverflow.com/questions/797 ... ld-be-none
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»