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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
#1

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

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

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

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

Подключить dll - C++
Здравствуйте. Есть dll, в ней несколько функций, необходимо добавить еще одну, чтобы выводила окно с приветствием. И затем написать win...

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

Подключить таблицу к программе - C++
задание сделать субд как подключить таблицу и записывать в нее значения? или же есть у кого исходник для работы с простейшей субд? ...

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

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

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

Как подключить подпрограмму к программе? - C++
Как перейти из main в nemain? #include<iostream> #include<conio.h> using namespace std; int main() { setlocale...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 19:52     Подключить dll к программе #2
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
02.05.2011, 20:12  [ТС]     Подключить dll к программе #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Подключаешь хэдэр с экспортируемыми функциями. Линкуеш файл biblioteca.lib. Используешь.
У меня есть только файл *.dll. Т.е. мне надо выполнить т.н. явное подключение. Как это сделать ?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
02.05.2011, 20:17     Подключить dll к программе #4
LoadLibrary
Потом ищешь функцию по имени, приводишь указатель на эту функцию к нужному типу и используешь.
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++
Есть файл *.chm, подключаю его через project -&gt; options и прописываю ShellExecute(Handle,L&quot;open&quot;,L&quot;Справка.chm&quot;,NULL,NULL,SW_RESTORE); НО...

Как подключить пользовательскую DLL к приложению - C++
Добрый вечер! Я первый раз пишу dll. Вот ее текст: My.cpp: #include&lt;iostream&gt; #include &quot;My.h&quot; using namespace std; namespace...

как подключить dll и lib SDL - C++
как подключить к проекту(в Visual Studio 2010) библиотеку SDL?// есть SDL.dll, SDL.lib и SDLmain.lib и еще папка с include'ами

Как подключить библиотеку i7000.dll? - C++
у меня есть библиотека i7000.dll библиотека необходимая для работы с com портами все остальное работает нормально а эта работает только с 3...

Как подключить графику к написанной программе? - C++
Здравствуйте. Я совсем новичок в программировании, попытался написать программу шахмат. У меня почти все получилось, но есть проблема. Вся...


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

Или воспользуйтесь поиском по форуму:
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 к программе
Ответ Создать тему
Опции темы

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