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

Ваш аккаунт

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

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

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

Dll

550
20 декабря 2002 года
matwey
82 / / 03.12.2002
У меня есть DLL как мне подключить её к своей программе и пользоваться функциями из неё...
Ни в одной книжке про это не написано.
426
21 декабря 2002 года
Krivonos
112 / / 20.01.2000
в MSDN все это есть. Не помню точно, но нужно использовать ф-ии что-то типа GetProcAddr. Короче, не помню, но уж лучше такой ответ, чем ничего. Потом посмотрю - напишу.
2.8K
22 декабря 2002 года
U$Bepb
4 / / 22.12.2002
Цитата:
Originally posted by matwey
У меня есть DLL как мне подключить её к своей программе и пользоваться функциями из неё...
Ни в одной книжке про это не написано.



Загружаем библиотеку
HINSTANCE hLib=LoadLibrary("DLLTEST.DLL");
После этого можешь пользоваться любыми функциями которые предоставляет данная ДЛЛ
if(hLib==NULL)
{
cout << "Unable to load library!" << endl;
return;
}
Выгружаем библиотеку
FreeLibrary((HMODULE)hLib);
или
FreeLibrary("DLLTEST.DLL");
Точно не помню...

550
23 декабря 2002 года
matwey
82 / / 03.12.2002
Цитата:
Originally posted by U$Bepb


Загружаем библиотеку
HINSTANCE hLib=LoadLibrary("DLLTEST.DLL");
После этого можешь пользоваться любыми функциями которые предоставляет данная ДЛЛ
if(hLib==NULL)
{
cout << "Unable to load library!" << endl;
return;
}
Выгружаем библиотеку
FreeLibrary((HMODULE)hLib);
или
FreeLibrary("DLLTEST.DLL");
Точно не помню...



Про использование функций поподробнее, их же нужно где-то впрорамме описать?
Как их описать и пользоваться

3
23 декабря 2002 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by matwey
У меня есть DLL как мне подключить её к своей программе и пользоваться функциями из неё...
Ни в одной книжке про это не написано.



Всё зависит от того, как ты хочешь подключать свою DLL. Можно подключить динамически, т.е. через LoadLibrary, а можно статичеси, т.е. автоматически на этапе загрузки приложения. Если нет особых оснований использовать динамическую загрузку, то лучше использовать статическую, т.к. не надо будет мучаться с GetProcAddress для необходимых ф-ций из DLL. Для статического подключения тебе потребуется кроме самой DLL ещё заголовочный файл .H с объявлениями ф-ций DLL и файл с расширением .LIB, который нужно указать линковщику. Файл .LIB либо поставляется с DLL, либо можно сгенерировать самому, как это сделать описано в MSDN: Q131313 "How to create 32-bit Import Libraries Without .OBJs or Source"
При написании своей программы тебе остается только подключить заголовочный файл, там где необходтмо использовать ф-ции из DLL, и использовать имена ф-ций объявленные в заголовочном файле, т.е. как, например, при использовании ф-ций WinAPI, ты лишь подключаешь windows.h и потом незадумываясь используешь, например, MessageBox().
При использовании же динамической загрузки тебе придется для начала определить типы указателей на ф-ции, основываясь на объявления самих ф-ций, загрузить DLL (LoadLibrary), получить адреса ф-ций из DLL (GetProcAddress) и только после этого вызавать сами ф-ции не явным использованием объявленных имен ф-ций, а через полученные указатели на них.

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