Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Как получить список имен процедур DLL   Найти похожие ветки 

 
Севостьянов Игорь ©   (2002-09-04 22:33) [0]

Как получить список имен процедур DLL, например, так как это делает Dependency Walker от MS ( http://www.dependencywalker.com/)?


 
Anatoly Podgoretsky ©   (2002-09-04 22:34) [1]

TDump


 
Севостьянов Игорь ©   (2002-09-04 22:36) [2]

Нет - мне надо ... программно ...


 
ggrisha ©   (2002-09-05 09:36) [3]

Посмотри на http://www.firststeps.ru/ там был готовый пример правда на с++


 
Игорь Шевченко ©   (2002-09-05 10:46) [4]

Севостьянов Игорь © (04.09.02 22:36)


> Нет - мне надо ... программно ...

Можно глупый вопрос - зачем ?


 
Толик ©   (2002-09-05 11:08) [5]

http://delphibase.endimus.ru/?action=viewfunc&topic=filedll&index=1


 
Севостьянов Игорь ©   (2002-09-05 11:24) [6]

>>ggrisha © (05.09.02 09:36)
Спасибо - Попробую найти

>>Игорь Шевченко © (05.09.02 10:46)
Можно глупый вопрос - зачем ?

Понимаешь есть такие имена процедур в dll или bpl не важно
@Borlndmm@SysGetMem$qqri
Так вот мне хочется разобраться с тем как получить список (универсальность мать его так) я не знаю как она будет обзыватся после компиляции пакета Delphi

Ну а дальше разбираться в получении нормальных имен функций

таких как в данном примере SysGetMem


Q: How do I view the parameter and return types of a function?

A: For most functions, this information is simply not present in the module. The Windows’ module file format only provides a single text string to identify each function. There is no structured way to list the number of parameters, the parameter types, or the return type. However, some languages do something called function "decoration" or "mangling", which is the process of encoding information into the text string. For example, a function like int Foo(int, int) encoded with simple decoration might be exported as _Foo@8. The 8 refers to the number of bytes used by the parameters. If C++ decoration is used, the function would be exported as ?Foo@@YGHHH@Z, which can be directly decoded back to the function"s original prototype: int Foo(int, int). Dependency Walker supports C++ undecoration by using the "Undecorate C++ Functions Command".


 
Севостьянов Игорь ©   (2002-09-05 11:33) [7]

>>Толик © (05.09.02 11:08)

Спасибо это вроде оно...

Еще идеи есть ?


 
Игорь Шевченко ©   (2002-09-05 12:38) [8]

Если объявить
exports
имя_процедуры

в пакете, то ее имя будет без всяких изменений.

А для того, чтобы провести undecoration (или demangling) имени, можно воспользоваться tdump, который показывает преобразованные имена. В инете была программа по преобразованию имен, где-то на сайте borland. Точных координат не помню.

С уважением,


 
Севостьянов Игорь ©   (2002-09-05 13:22) [9]

Мне как и надо программно (после получения списка) получить
корявые названия и нормальные

undecoration name = normal name

Грубо говоря, я знаю нормальное название, но не знаю как оно будет выглядеть в "корявом" виде... Каждый раз заглядывать в TDump не "универсально"



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
8-56232
Genix
2002-06-16 22:06
2002.10.17
Простые вопросы о DelphiX....


4-56421
Didopor
2002-09-02 19:40
2002.10.17
все Handle-лы нитей.


1-56058
Константин
2002-10-08 12:57
2002.10.17
Как создать собственный тип данных, не основанный на стандартных


14-56307
ded_di
2002-09-24 16:35
2002.10.17
Web Master у


1-56132
LeReve
2002-10-06 21:58
2002.10.17
Не могу установить DELPHI!!!!!!!!!!!!!!!!!!!!