Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
mcSHLANG
5 / 5 / 2
Регистрация: 04.04.2013
Сообщений: 44
#1

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

31.08.2013, 00:06. Просмотров 792. Ответов 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 файлы?
http://www.cyberforum.ru/cpp/thread1242804.html
0
Миниатюры
Вызов функции из dll  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 00:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вызов функции из dll (C++):

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями?
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL...

Экспорт функции DLL
Вечер добрый. Работаю над проектом, в котором из DLL экспортируются функции...

Список параметров функции из DLL
В runtime загружаю DLL'ки, вывожу список функций содержащийся в них, но так и...

Windows I/o без Kernel32.dll и Advapi32.dll
Добрый день. Необходимо в Windows XP SP3 распечатать в стандартный поток...

При компиляции DLL-проекта не создается DLL-ка
Добрый день. создал в Visual Studio 2010 проект C+= типа DLL. В файл...

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

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



А соглашение о вызовах какое ? _cdecl, _stdcall ?
Не знаю, как проверить?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2013, 13:26
Привет! Вот еще темы с решениями:

Вызов функции DLL VB.NET в DLL C++
Как вызывать функции dll VB.NET через dll С++, которая приинжекчена к процессу...

Вызов функции из DLL с AnsiString
Можно ли вызывать функцию из dll, в качестве параметра которой будет AnsiString...

Функции в Assembler, вызов функции в C++
Здравствуйте, я составил функции на языке Assembler и вставил ее в код на C++:...

Вызов функции
Собственно интересует как можно один раз вписать функцию с выполнением...


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

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

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