Форум программистов, компьютерный форум CyberForum.ru

Подключить dll к программе - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 19:28     Подключить dll к программе #1
Здравствуйте. Нужна помощь новичку. У меня есть файл, к примеру biblioteka.dll. Каким оброазом можно подключить эту библиотеку к моей программе, что бы я мог использовать её функции и переменные.

Добавлено через 12 минут
(P.S По этому вопросу лазил по многим форумам, везде максимум два три ответа и то невнятных. Неужели это так сложно - подключить библиотеку ? )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 19:28     Подключить dll к программе
Посмотрите здесь:

C++ как подключить dll к проекту с++
Подключить библ. bass.dll C++
как подключить dll и lib SDL C++
Подключить dll C++
Как подключить пользовательскую DLL к приложению C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 19:52     Подключить dll к программе #2
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 20:12  [ТС]     Подключить dll к программе #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
У меня есть только файл *.dll. Т.е. мне надо выполнить т.н. явное подключение. Как это сделать ?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 20:17     Подключить dll к программе #4
LoadLibrary
Потом ищешь функцию по имени, приводишь указатель на эту функцию к нужному типу и используешь.
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 20:41  [ТС]     Подключить dll к программе #5
Вот на чем я остановился.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include "windows.h"
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char namelib[20]="SSQ.dll";
    
    HINSTANCE hModule=NULL;
    hModule=LoadLibrary(namelib);
    if (hModule!=NULL)
    {
     cout<<"дескриптор "<<namelib<<" получен\n";
    } 
     else 
          {
               cout<<"дескриптор "<<namelib<<" не получен\n";
               cin.get();
               return 0;
          }
                   
    cin.get();
    return 0;
}
Тут я получаю дескриптор библиотеки возвращаемы функцией LoadLibrary(). Что делать дальше не знаю.
DeadRipper
64 / 70 / 3
Регистрация: 25.06.2009
Сообщений: 244
02.05.2011, 22:54     Подключить dll к программе #6
ну вот библиотека подключена теперь надо найти указатель на функцию по ее имени

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef (...)functype (...,...,..) // создаем прототип функции
//допустим в дллке была такая функция - void Func1 (int,int,char);
//тогда 
 
typedef void (*functype) (int,int,char)  // functype и будет ее прототипом
 
//теперь ищем адрес функции в дллке
 
functype Func1 = GetProcAddress(hModule,"Func1 -- ее название в dllке");
 
//теперь вызываем ее как обычную функцию
 
Func1(0,0,0);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 05:18     Подключить dll к программе
Еще ссылки по теме:

C++ Как подключить подпрограмму к программе?
Как подключить DLL C++
C++ Как подключить dll на C# к проекту (dll) на С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
03.05.2011, 05:18  [ТС]     Подключить dll к программе #7
DeadRipper,
Спасибо за подробные комментарии, именно в них я и нуждался. , а то если бы был сухой код я бы долго разбирался.
Теперь есть тропинка что бы идти дальше...

Добавлено через 49 минут
Цитата Сообщение от DeadRipper Посмотреть сообщение
ну вот библиотека подключена теперь надо найти указатель на функцию по ее имени
В библиотеке которую я пытаюсь подключить есть функция:

C++
1
BOOL WINAPI SSQ_SetGameServer(  char* address);
Как мне ее вызвать ?

Добавлено через 5 часов 4 минуты
Все, разобрался
Yandex
Объявления
03.05.2011, 05:18     Подключить dll к программе
Ответ Создать тему
Опции темы

Текущее время: 11:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru