|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.10.2014, 23:00 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
DLL. Экспортируемые функции с @n на конце. Что к чему?
Доброго времени суток!
Перевожу кучку сишных заголовочников под паскаль. Все вроде, ок.. пока не начал делать загрузку библиотеки: Код:
Почему-то формат такой: _<Имя>@<число> и @<число> очень напрягает, они там разные, не совпадают с порядковым номером экспорта. Очень думается, что при пересборке библиотеки этот n изменится и GetProcAddress вернет мне NULL. Что это и почему так? Может кусок определения поможет, я малость не понимаю что к чему: Код:
Последний раз редактировалось Человек_Борща; 27.10.2014 в 23:05. |
27.10.2014, 23:15 | #2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Цитата:
|
|
27.10.2014, 23:45 | #3 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Посмотрел... сомнительно что это кол-во аргументов: _LhIsThreadIntercepted@12 Код:
выудил все имена прямо из секции экспорта, теперь библиотека грузится в память.. работает ли, узнать бы. Последний раз редактировалось Человек_Борща; 27.10.2014 в 23:57. |
|
28.10.2014, 07:28 | #4 | |||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Цитата:
Цитата:
Цитата:
|
|||
28.10.2014, 09:50 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Это относится к stdcall функциям.
Если делать все в cdecl, тогда имя функции будет экспортироваться как _ИмяФункции. Кроме того, можно воспользоваться def файлом и указать какую функцию под каким именем экспортировать. |
28.10.2014, 13:50 | #6 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
хотя беда всеравно... я динамически DLL гружу. Цитата:
Или я могу указать их так импортировать? Последний раз редактировалось Человек_Борща; 28.10.2014 в 13:54. |
||
28.10.2014, 14:42 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
экпортировать вам проще через DEF чтоб было строгое имя, которое точно будете знать,а не искать потом его Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отладка. Что к чему не пойму. | Антон0608 | Помощь студентам | 13 | 23.03.2014 19:34 |
winSock/ Поясните что к чему | Чайничек. | Работа с сетью в Delphi | 1 | 30.06.2013 13:20 |
cgi что к чему | mar4elo | PHP | 5 | 13.02.2011 14:47 |
Получить экспортируемые из DLL функции | Memfis1992 | Общие вопросы Delphi | 5 | 30.10.2010 13:24 |
Генератор слов - что к чему? | Ramal | Общие вопросы Delphi | 8 | 16.07.2009 01:11 |