Недавно я перенес некоторый код (около 200 строк). Он модифицирует 2 исполняемых файла и libConfig, но изменения libConfig не влияют на интерфейсы.
Я перекомпилировал и отличился от предыдущей версии. Как и ожидалось, два исполняемых файла и библиотека конфигурации имеют разный размер. Но ряд других библиотек и исполняемых файлов демонстрируют двоичные различия, в то время как размер файла остается прежним.
Я подумал, что это, вероятно, искусственные изменения, поэтому я обновил два исполняемых файла и библиотеку конфигурации до более старой версии.
Когда я запускаю программное обеспечение, третий исполняемый файл не выполняет проверку во время выполнения, жалуясь, что файл конфигурации не загружен. Ни одно из изменений не имеет никакого отношения к этому исполняемому файлу или файлу конфигурации, на который он жалуется.
Может ли кто-нибудь объяснить такое поведение?
- Почему в моей новой сборке есть двоичные изменения, хотя их не должно быть?
- Почему неизмененный исполняемый файл внезапно выдает ошибку?
- Это libConfig.so вызывает проблему? Если да, то почему?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ld-be-none
Мобильная версия