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

C++

Войти
Регистрация
Восстановить пароль
 
mcSHLANG
5 / 5 / 0
Регистрация: 04.04.2013
Сообщений: 44
#1

Вызов функции из dll - C++

31.08.2013, 00:06. Просмотров 648. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Пытаюсь вызвать функцию, которая находится в библиотеке следующим способом:

C++
1
2
3
4
5
HINSTANCE dllhandle = LoadLibrary((LPCWSTR)"avformat.dll");
void (*avRegistryAll)();
(FARPROC &) avRegistryAll = GetProcAddress(dllhandle, "av_register_all");
avRegistryAll();
FreeLibrary(dllhandle);
Функция "av_register_all" имеет следующую сигнатуру:

C++
1
void av_register_all();
Но при вызове в строчке avRegistryAll(); возникает необработанное исключение.

В чем может быть причина и как можно еще подключить библиотеку, если к ней не прилагаются .lib файлы?
Миниатюры
Вызов функции из dll  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 00:06     Вызов функции из dll
Посмотрите здесь:

C++ Вызов функции из dll
C++ Вызов из разных потоков функции чтения из файла, dll
C++ Вызов функции с DLL
C++ Вызов функции, использующей vector, из dll
Вызов функции из exe в который инжектирована dll C++ WinAPI
C++ Подключение dll на C# к проекту на С++ и вызов функции из неё
Явное подключение DLL и вызов функции из неё C++ WinAPI
Вызов dll из подпрограммы C++
C++ Вызов управляемой DLL
Вызов функции из Dll (анализа IDA) C++ COM
Вызов функции из DLL с AnsiString C++ Builder
Dll вызов метода C++ WinAPI

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15174 / 6806 / 1073
Регистрация: 02.05.2013
Сообщений: 11,127
Завершенные тесты: 1
31.08.2013, 00:39     Вызов функции из dll #2
Цитата Сообщение от mcSHLANG Посмотреть сообщение
HINSTANCE dllhandle = LoadLibrary((LPCWSTR)"avformat.dll");
Неправильно. "avformat.dll" - это строка char-ов, а LPCWSTR - это указатель на wchar_t-строку.
Уверен, что LoadLibrary здесь возвращает NULL. И GetProcAddress тоже.

Цитата Сообщение от mcSHLANG Посмотреть сообщение
Функция "av_register_all" имеет следующую сигнатуру:
А соглашение о вызовах какое ? _cdecl, _stdcall ?
mcSHLANG
5 / 5 / 0
Регистрация: 04.04.2013
Сообщений: 44
04.09.2013, 13:26  [ТС]     Вызов функции из dll #3
Цитата Сообщение от Убежденный Посмотреть сообщение
Неправильно. "avformat.dll" - это строка char-ов, а LPCWSTR - это указатель на wchar_t-строку.
Уверен, что LoadLibrary здесь возвращает NULL. И GetProcAddress тоже.



А соглашение о вызовах какое ? _cdecl, _stdcall ?
Не знаю, как проверить?
Yandex
Объявления
04.09.2013, 13:26     Вызов функции из dll
Ответ Создать тему
Опции темы

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