powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
11 сообщений из 11, страница 1 из 1
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34561979
user_12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток !
В Dll есть функция, объявленная как extern "C" __declspec(dllexport) bool __fastcall Func(const char *);
При динамической загрузке ф-ии из длл есть следующее :

HINSTANCE Dll = LoadLibrary("dll.dll");
typedef __declspec(dllimport) bool __fastcall BoolConstCharType (const char *);
BoolConstCharType * MyFunc = (BoolConstCharType *) GetProcAddress(Dll,"_Func");
Вот тут функция не находится, но если убрать __fastcall из объявления функции в Dll и в Exe-шнике, то все находится. Где грабли ?
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34561992
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user_12345В Dll есть функцияскачай софтину, которая покажет тебе какие реально функции экспортирует ДЛЛ, посмотри имена и проанализируй
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562092
user_12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас user_12345В Dll есть функцияскачай софтину, которая покажет тебе какие реально функции экспортирует ДЛЛ, посмотри имена и проанализируй
Posted via ActualForum NNTP Server 1.4
Экспортируется вроде то, что нужно .....
******************************************************************************
Section: Exports
Flags: 00000000
Time Stamp: 00000000
Major Version: 0000
Minor Version: 0000

Exports from IniLib.dll
5 exported name(s), 5 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001954 4 0000 __linkproc__ Inilibbody::Finalize
0000193C 3 0001 __linkproc__ Inilibbody::Initialize
000015C4 1 0002 _Func

эта часть вроде как не зависит от того, объявлял я ф-ию как __fastcall или нет
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562125
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user_12345Вот тут функция не находитсяа GetLastError что говорит ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562187
user_12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас user_12345Вот тут функция не находитсяа GetLastError что говорит ?
Posted via ActualForum NNTP Server 1.4

Говорит "Не найдена аказанная процедура "
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562202
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user_12345Говорит "Не найдена аказанная процедура "чудес не бывает

либо ее на самом деле там нет, либо ты другую ДЛЛ загружаешь, либо имя искомой функции меняешь ...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562457
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас пишет:
> скачай софтину, которая покажет тебе какие реально функции экспортирует
> ДЛЛ, посмотри имена и проанализируй

dumpbin вообще вроде в поставке винды идет, или нет ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562458
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user_12345 пишет:

> Вот тут функция не находится, но если убрать __fastcall из объявления
> функции в Dll и в Exe-шнике, то все находится. Где грабли ?

Разные декорации имен используются при __stdcall и __fastcall.
А импорт/экспорт идет видимо по именам, а не по номерам.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562480
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivdumpbin вообще вроде в поставке винды идет, или нет ?у меня нету
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562510
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivdumpbin вообще вроде в поставке винды идет, или нет ?Нет, она идет с VisualStudio.
...
Рейтинг: 0 / 0
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
    #34562763
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user_12345 Где грабли ? Грабли в спецификации __fastcall , как это ни банально - спецификатор заставляет передать 2 параметра функции в регистрах, с вызовом функции из dll такой подход - не самый корректный, мягко говоря
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]