Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вызов функции exe из dll

16K
31 января 2010 года
lxx
24 / / 27.02.2007
Приветствую!
Стоит задача получить из динамической библиотеки доступ к некой функции в приложении, которое загрузило эту библиотеку.
С получением доступа к функции библиотеки из приложения все ясно, но как поступить если нужно сделать наоборот: из dll к exe?

На данный момент эту проблему решил по аналогии с dll, dllexport-ом соответствующей функции из exe, но это в моем случае не очень хорошее решение.

Как еще можно получить доступ к функции в exe из dll?
5
31 января 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: lxx
Как еще можно получить доступ к функции в exe из dll?

Передать ее адрес в DLL во время инициализации приложения.

16K
31 января 2010 года
lxx
24 / / 27.02.2007
А можно поподробней, или пример?
У меня тоже была мысль передавать ссылку на функцию при LoadLibrary, но как это реализовать - не знаю.
5
31 января 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: lxx
А можно поподробней, или пример?
У меня тоже была мысль передавать ссылку на функцию при LoadLibrary, но как это реализовать - не знаю.


Создать функцию в DLL, которая будет инициализировать свои внутренние структуры. В нее и передать указатель на ваш колбэк.

11
31 января 2010 года
oxotnik333
2.9K / / 03.08.2007
а какая принципиальная разница как передавать адрес, напрямую (как параметр) или через GetProcAdress?
3
01 февраля 2010 года
Green
4.8K / / 20.01.2000
Цитата: oxotnik333
а какая принципиальная разница как передавать адрес, напрямую (как параметр) или через GetProcAdress?


1. Не должна dll знать об exe.
2. Передавать можно разные ф-ции в зависимости от ситуации.
3. Нет таблицы экспорта.
4. Значительно удобнее и оптимальнее по скорости и объему.
5. Callback - общеприменительная практика.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог