Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
LedZeppelin
7 / 7 / 1
Регистрация: 19.04.2011
Сообщений: 68
1

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

02.05.2011, 19:28. Просмотров 2212. Ответов 6
Метки нет (Все метки)

Здравствуйте. Нужна помощь новичку. У меня есть файл, к примеру biblioteka.dll. Каким оброазом можно подключить эту библиотеку к моей программе, что бы я мог использовать её функции и переменные.

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

Как подключить dll на C# к проекту (dll) на С++
Подскажите, пожалуйста, как подключить dll на C# к проекту (dll) на С++. В...

Подключить dll
Здравствуйте. Есть dll, в ней несколько функций, необходимо добавить еще одну,...

Как подключить в С++ dll-ку из C#?
Создал в Visual Studio dll-ку на C#. Хочу подключить ее в С++, не выходит. ...

Как подключить DLL
Доброе время суток уважаемые участники Пытаюсь написать программу по...

Подключить таблицу к программе
задание сделать субд как подключить таблицу и записывать в нее значения? или...

6
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 19:52 2
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
0
LedZeppelin
7 / 7 / 1
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 20:12  [ТС] 3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
У меня есть только файл *.dll. Т.е. мне надо выполнить т.н. явное подключение. Как это сделать ?
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 20:17 4
LoadLibrary
Потом ищешь функцию по имени, приводишь указатель на эту функцию к нужному типу и используешь.
0
LedZeppelin
7 / 7 / 1
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 20:41  [ТС] 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(). Что делать дальше не знаю.
0
DeadRipper
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
02.05.2011, 22:54 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);
2
LedZeppelin
7 / 7 / 1
Регистрация: 19.04.2011
Сообщений: 68
03.05.2011, 05:18  [ТС] 7
DeadRipper,
Спасибо за подробные комментарии, именно в них я и нуждался. , а то если бы был сухой код я бы долго разбирался.
Теперь есть тропинка что бы идти дальше...

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

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

Добавлено через 5 часов 4 минуты
Все, разобрался
0
03.05.2011, 05:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 05:18

Подключить библ. bass.dll
Дорогие друзья, прошу помочь! И заранее всех откликнувшихся благодарю! Есть у...

Подключить к проекту на C++ DLL написанный на C#
Здравствуйте. Есть ли возможность подключить к проекту на C++, DLL написанный...

Как подключить dll к проекту?
Ребят помогите пожалуйста, если сможете а то я уже 3 дня долбаюсь чет никак не...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru