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

Ваш аккаунт

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

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

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

Не могу подключить dll.

1.2K
23 сентября 2004 года
Kalitkin
108 / / 05.03.2004
есть dll’ка, в которой написано

extern "C" _declspec(dllexport)
void MyBox()
{
MessageBox(“hello”);
}

есть приложение в котором написано (в MyApp.h)


extern "C" _declspec(dllimport)
void MyBox();

далее в функции – обработчике нажатия на кнопку идет вызов функции

MyBox();

И……….

Нифига

Конечно, если создать сначала проект с dll’кой, а потом включить в него(в workspace) проект в котором я буду пользоваться функцией MyBox(), а потом еще и в меню project->dependencies поставить галочку (для того чтобы использовать эту дллку)… ну в общем фигня (это я в тупорылой книжонке прочитал).
А вот сам вопрос, как мне из своей программы использовать функции которые я написал в дллке? (способ который я описал не подходит, потому что проект уже есть, да и вообще это как то туповато)
4.1K
23 сентября 2004 года
Olegg
48 / / 17.09.2004
По-моему что-то у Вас не так.
Если такого вида экпорт/импорт, делаю это вот так.
DLL:
int d()
{
return 1;
}
extern int __declspec(dllexport) d();

EXE:
extern int __declspec(dllimport) d();
.....
d();
1.8K
23 сентября 2004 года
_const_
229 / / 26.11.2003
Цитата:
Originally posted by Kalitkin
есть dll’ка, в которой написано

extern "C" _declspec(dllexport)
void MyBox()
{
MessageBox(“hello”);
}

есть приложение в котором написано (в MyApp.h)


extern "C" _declspec(dllimport)
void MyBox();

далее в функции – обработчике нажатия на кнопку идет вызов функции

MyBox();

И……….

Нифига

Конечно, если создать сначала проект с dll’кой, а потом включить в него(в workspace) проект в котором я буду пользоваться функцией MyBox(), а потом еще и в меню project->dependencies поставить галочку (для того чтобы использовать эту дллку)… ну в общем фигня (это я в тупорылой книжонке прочитал).
А вот сам вопрос, как мне из своей программы использовать функции которые я написал в дллке? (способ который я описал не подходит, потому что проект уже есть, да и вообще это как то туповато)




По-моему, у нас непонимание. Чтобы подключить DLL без сборки с ней приложения (так скажем), нужно использовать след. ф-ции:
LoadLibrary(...);
GetProcAddress(...);
FreeLibrary(...);

Подробности в MSDN.

8.7K
23 сентября 2004 года
Elessar
3 / / 23.09.2004
У меня были косяки с DLL.
Но предыдущий автор был прав: без описанных функции вы не вытащите написанные функции из DLL.
Вот только пользование этих функции ни к чему хорошему не приводит. Мне когда-то тоже стукнула идея писать с DLL'ками, вот только никаким образом они не работали. Может быть у меня был кривой компилятор (MSDEV 6.0)?
3
23 сентября 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Elessar
У меня были косяки с DLL.
Но предыдущий автор был прав: без описанных функции вы не вытащите написанные функции из DLL.


Все зависит от желания и умения.
Реверс-инженеринг к примеру...

Цитата:
Originally posted by Elessar

Вот только пользование этих функции ни к чему хорошему не приводит.


:D:D:D

Цитата:
Originally posted by Elessar

Мне когда-то тоже стукнула идея писать с DLL'ками, вот только никаким образом они не работали. Может быть у меня был кривой компилятор (MSDEV 6.0)?


Думаю, что что-то другое кривое... :D

Смотрим сюда:
http://www.rsdn.ru/?article/default.asp?baseserv/dlluse.xml

1.2K
24 сентября 2004 года
Kalitkin
108 / / 05.03.2004
Цитата:
Originally posted by Green

Все зависит от желания и умения.
Реверс-инженеринг к примеру...


:D:D:D


Думаю, что что-то другое кривое... :D

Смотрим сюда:
http://www.rsdn.ru/?article/default.asp?baseserv/dlluse.xml



Спасибо за ссылку, помогла.
Что-то я совсем запутался с этими либами. Раньше я думал, что статически связываемые библиотеки – это lib, а динамически – dll. А в rsdn написано, что в либах находится таблица импорта. Может разъяснишь?

3
24 сентября 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Kalitkin

Спасибо за ссылку, помогла.
Что-то я совсем запутался с этими либами. Раньше я думал, что статически связываемые библиотеки – это lib, а динамически – dll. А в rsdn написано, что в либах находится таблица импорта. Может разъяснишь?



Ты правильно думал. Статически связываемые - это lib, а динамически - это dll.
Динамически связываемые могут быть связаны явно через вызовы в программе LoadLibrary, а могут связываться неявно на этапе загрузки программы загрузчиком. Загрузчик берет информацию из таблицы импорта загружаемого исполняемого файла. Таблица импорта была помещена в исполняемый файл на этапе его компоновки (линковки). Таблица эта берется из файла lib, который соответствует конкретной dll. В этом случае lib не содержит непосредственно кода, а лишь таблицу импорта для подключения и перехода к конкретным методам в DLL.

Т.о. получается что одни lib могут содержать непосредственно код некоторых методов, а другие lib - только механизм подключения и вызова методов из DLL.

1.2K
25 сентября 2004 года
Kalitkin
108 / / 05.03.2004
Цитата:
Originally posted by Green


Ты правильно думал. Статически связываемые - это lib, а динамически - это dll.
Динамически связываемые могут быть связаны явно через вызовы в программе LoadLibrary, а могут связываться неявно на этапе загрузки программы загрузчиком. Загрузчик берет информацию из таблицы импорта загружаемого исполняемого файла. Таблица импорта была помещена в исполняемый файл на этапе его компоновки (линковки). Таблица эта берется из файла lib, который соответствует конкретной dll. В этом случае lib не содержит непосредственно кода, а лишь таблицу импорта для подключения и перехода к конкретным методам в DLL.

Т.о. получается что одни lib могут содержать непосредственно код некоторых методов, а другие lib - только механизм подключения и вызова методов из DLL.



Ну спасибо что разъяснил, а то я совсем запутался, да кстати ты не мог бы немного рассказать о переменных окружения, а то я в них тоже не очень разбираюсь.

3
27 сентября 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Kalitkin

Ну спасибо что разъяснил, а то я совсем запутался, да кстати ты не мог бы немного рассказать о переменных окружения, а то я в них тоже не очень разбираюсь.



А что именно тебя интересует?
Пути?

1.2K
28 сентября 2004 года
Kalitkin
108 / / 05.03.2004
Цитата:
Originally posted by Green


А что именно тебя интересует?
Пути?



да все, что их касается(мне стыдно, но я ничего про них не знаю)

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