![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
загрузить пытаюсь так:
А на GetProcAddress говорит нет такой процедуры хотя dump пишет: Exports from DLL1.dll 2 exported name(s), 2 export addresse(s). Ordinal base is 1. Sorted by Name: RVA Ord. Hint Name -------- ---- ---- ---- 00001674 1 0000 AutoProc(int, unsigned int, long) 0001D0F8 2 0001 ___CPPdebugHook что не правильно? Заранее благодарю за ответ. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Неправильно скорее всего то, что в GetProcAddress нужно передавать полное имя ф-ции (сгенерированное компилятором, с закодированными типами и кол-вом параметров), типа "?MsgHookProc@@YGJHIJ@Z". А то, что показывает dump (интересно, какой dump ? dumpbin что ли ?) - это расшифрованные имена. Можно воспользоваться утилитой depends.exe
-------------------- ![]() |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
Первый раз такое слышу, всегда передавал нормальное имя и всё работало. Скорее ошибка где-то в самой длл, как там экспортирутся функция !? Это сообщение отредактировал(а) shedon - 23.1.2004, 21:48 -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
так объявляю:
__declspec(dllexport) void AutoProc(){ // } -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Если есть Borland Delphi, то можешь посмотреть секцию экспорта ДЛЛ при помощи TDump.exe.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
А я не понял в дампе у тебя написанно AutoProc(int, unsigned int, long), а объявляешь так void AutoProc(); От куда там эти параметры взялись ?
А в *.def файле, что нить есть ? -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Вот имя такой функции компилер (если это VC++) и закодирует, т.к. где здесь модификатор "C" ? -------------------- ![]() |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
а .def файла у меня нету...
его как создать? у меня Builder -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| shedon |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
def файл создавать не обязательно,
Это реализация. А где объявление самой функции AutoProc ? И ещё раз посмотри, почему в дампе у функции появляются параметры, и я не знаю как в бюлдере, но в VC есть некоторые функции имена которых нельзя использовать. -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
дык это у меня и объявление и реализация (или они отдельно идти должны?)
а в дампе параметры появляются так как у меня функция с ними (просто для сокращения о них не писал) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |