Ошибка в dll.inc при импорте неиспользуемых библиотек #273
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ошибка возникает, когда есть описание импортируемых функций из библиотеки, но они не используются
Пояснение: по завершению вызова функции dll.Init для библиотеки libini.obj указатель стека не возвращается на нужную позицию(esp имеет значение 11EB вместо 122B)
Предположительная причина возникающей ошибки:
Так как во время сопоставления имён импортируемых функций с экспортируемыми функциями библиотеки происходит перезапись указателей имён необходимых программе библиотеки на указатели функций, то при повторном сопоставлении происходит ошибочная интерпретация кода как данных таблиц импорта.
Исправление ошибки требует правок в работе библиотек, требующих загрузки дополнительных библиотек (libini, http, libimg etc.)
Исправление данного бага представлено в запросе на слияние #274
Также в рамках документации должен быть создан раздел с описанием функционирования динамически подключаемых библиотек и связанных с ними кодов.
В рамках задачи на изменение документации, добавлен предварительный вариант пояснительного текст разработчикам библиотек в комментарии #215 (comment) .
Так как ошибка исправлена в основной ветке репозитория, данная задача решена и закрыта