RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : чудеса линкования


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Список сообщений
From : Joseph
To : LightElf
Subj : чудеса линкования

Привет.
Все кроме ординалов попытался. Безрезультатно.

> > Привет всем.
> > Получил прилив адреналина и ненависти:
> >
> > имею задачу, которая вызывает библиотеку (lib1.dll), которая вызывает другую библиотеку (lib2.dll)
> > До недавнего времени все работало.
> > Решил добавить в lib2.dll еще одну функцию.
> > Добавил текст в конце файла и имя функции в конец списка экспорта в .def.
> > Собрал.
> > Работать перестало.
> > В отладчике видно как при вызове из lib1 функции из lib2 вызывается совсем другая функция.
> > И все пляски с бубнами, кроме переноса этого куска в начало файла и переноса имени в def в начало списка, не помогли.
> > Только перенос помог.
> Подозреваю, что проблема кроется в районе Import by ordinal vs Import by name. Чтобы такой херни не было, надо либо в .def экспортированным функциям жестко прописать конкретные ординалы (олдскульный метод), либо экспортировать/импортировать функции по именам (модно-молодежно).


Mon 02 Nov 2026 10:06 Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.