|
|
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток ! В 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-шнике, то все находится. Где грабли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 16:42 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
user_12345В Dll есть функцияскачай софтину, которая покажет тебе какие реально функции экспортирует ДЛЛ, посмотри имена и проанализируй Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 16:46 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас 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 или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:12 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
user_12345Вот тут функция не находитсяа GetLastError что говорит ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:19 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас user_12345Вот тут функция не находитсяа GetLastError что говорит ? Posted via ActualForum NNTP Server 1.4 Говорит "Не найдена аказанная процедура " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:34 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
user_12345Говорит "Не найдена аказанная процедура "чудес не бывает либо ее на самом деле там нет, либо ты другую ДЛЛ загружаешь, либо имя искомой функции меняешь ... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:37 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас пишет: > скачай софтину, которая покажет тебе какие реально функции экспортирует > ДЛЛ, посмотри имена и проанализируй dumpbin вообще вроде в поставке винды идет, или нет ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 18:42 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
user_12345 пишет: > Вот тут функция не находится, но если убрать __fastcall из объявления > функции в Dll и в Exe-шнике, то все находится. Где грабли ? Разные декорации имен используются при __stdcall и __fastcall. А импорт/экспорт идет видимо по именам, а не по номерам. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 18:44 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
MasterZivdumpbin вообще вроде в поставке винды идет, или нет ?у меня нету Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 18:49 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
MasterZivdumpbin вообще вроде в поставке винды идет, или нет ?Нет, она идет с VisualStudio. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 19:01 |
|
||
|
Использование __fastcall при динамической загрузке ф-ий из Dll (CBulder)
|
|||
|---|---|---|---|
|
#18+
user_12345 Где грабли ? Грабли в спецификации __fastcall , как это ни банально - спецификатор заставляет передать 2 параметра функции в регистрах, с вызовом функции из dll такой подход - не самый корректный, мягко говоря ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 22:10 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34562457&tid=2028780]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 491ms |

| 0 / 0 |
