Здравствуйте, wbear, Вы писали:
W>Возникла задача использовать чужую библиотеку в своем проекте. Библиотека представляет собой DLL c набором экспортируемых наружу функций.
Обычно если библиотека предназначена для внешнего использования, у нее, кроме DLL, есть еще .H и .LIB файлы (SDK), для использования разработчиками.
ЕМ>Такое впечатление, что Вы решили наугад перебрать все, что приходит в голову, не понимая, что именно делаете.
ЕМ>Если функция, по Вашим же словам, называется "?Instance@Server@@SAPAV1@XZ", то с чего вдруг Вы пытаетесь найти ее по имени "Instance"?
Спасибо на наводку с именем.
bnk>Обычно если библиотека предназначена для внешнего использования, у нее, кроме DLL, есть еще .H и .LIB файлы (SDK), для использования разработчиками.
Обычно так и делается. А вот если их нет, то приходиться идти в обход как настоящие герои
Здравствуйте, wbear, Вы писали:
bnk>>Обычно если библиотека предназначена для внешнего использования, у нее, кроме DLL, есть еще .H и .LIB файлы (SDK), для использования разработчиками. W>Обычно так и делается. А вот если их нет, то приходиться идти в обход как настоящие герои
Кажется вся эта фигня в имени после Instance — называется деманглинг. Можно попробовать поискать, какие компиляторы какие создают имена для функций в длл.
Ну и разумеется GetProcAddress ничего об этом не знает. Ей подавай точное имя.
В общем мое имхо — проще забить чем разобраться.
Но, тот кто ищет — тот всегда найдет! Главное что бы хватило времени и денег.