Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
1

Вылетает программа при использовании dll

21.04.2011, 14:51. Показов 1207. Ответов 1
Метки нет (Все метки)

итак. использую функции из dll.
C
1
2
3
4
5
6
typedef void* HID_DEVICE;
DWORD (*_HidDevice_GetNumHidDevices)(WORD, WORD);//вроде как указатель на функцию
 hHidDLL=LoadLibrary("SLABHIDDevice.dll");//загружаем dll
    if(hHidDLL==NULL)
        MessageBox(0, "Не получается загрузить SLABHIDDevice.dll", "Пичалька!",0);
 _HidDevice_GetNumHidDevices=(DWORD (*)(WORD, WORD))GetProcAddress(hHidDLL, "HidDevice_GetNumHidDevices");//ищем саму функцию
ну потом еще проверяю, чтоб указатель на функцию не был равен нулю(что функция нашлась).
далее вызываю функцию- все хорошо. но после сотого-другого вызова функции программа вылетает( ошибка сегментации).
может быть я что не учел?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 14:51
Ответы с готовыми решениями:

Dll вызывается, но при выделении памяти вылетает
Доброго времени суток. Столкнулся с проблемой выделением памяти в dll. Вызываю функцию: char *...

При использовании самописного DLL-инжектора программа(не инжектор) вылетает
Хелп! Я решил написать dll инжекторЗачем? Ну... Я один из разработчиков игры в стиле "Реалистичный...

Вылетает программа при использовании функции класса
Есть класс Match: #include "coefficient.h" #include "team.h" #include <QString> #include...

Программа компилируется и включается,но при использовании вылетает и прерывается
Задано с клавиатуры натуральное число N. Вычислить сумму конечного отрезка ряда: (формула во...

1
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
25.04.2011, 11:41  [ТС] 2
итак... ответ: я забыл волшебное слово __stdcall
C
1
2
3
4
5
6
typedef void* HID_DEVICE;
DWORD (__stdcall *_HidDevice_GetNumHidDevices)(WORD , WORD);//вроде как указатель на функцию
hHidDLL=LoadLibrary("SLABHIDDevice. dll");//загружаем dll
if(hHidDLL==NULL)
MessageBox(0, "Не получается загрузить SLABHIDDevice.dll", "Пичалька!",0);
_HidDevice_GetNumHidDevices=(DWORD (__stdcall  *)(WORD, WORD))GetProcAddress(hHidDLL, "HidDevice_GetNumHidDevices");//ищем саму функцию
быть может комунибудь и пригодится
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2011, 11:41

Падает программа при использовании DLL
Раньше писал DLL для одного приложения, теперь мне понадобилось его использовать в другом....

Слетели библиотеки .dll При запуске любых приложений на компьютере вылетает ошибка с расширением .dll
Не запускается приложения на windows 8. А также удалились точки доступа Восстановления Системы и...

Вызываю dll (написанную на vc++2008) из Fasm. Через 40 секунд вылет из программы.Без вызова dll из Fasm программа не вылетает.
Программа на vc++2008: #include "MathFuncsDll.h" #include <stdexcept> using namespace std; ...

Вылетает при использовании системного вызова lseek
Программа ищет строку в файле, они вводятся с клавиатуры. Нужно чтобы работало с любыми размерами...


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

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

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