Zugriff auf DLL"s

Zugriff auf DLL"s

am 01.02.2008 09:02:45 von Ferry Bolhar

Hallo,

gegeben sei ein Funktionsname und ein Verzeichnis mit ca. 150 DLLs.
Gesucht wird die Antwort, ob eine Funktion mit diesem Namen in
einer oder mehreren DLLs vorkommt, und falls ja, in welcher/n.

Ist soetwas mit Perl lösbar?

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf@wien.gv.at

Re: Zugriff auf DLL"s

am 01.02.2008 11:35:24 von Reinhard Pagitsch

Ferry Bolhar wrote:
> Hallo,
>=20
> gegeben sei ein Funktionsname und ein Verzeichnis mit ca. 150 DLLs.
> Gesucht wird die Antwort, ob eine Funktion mit diesem Namen in
> einer oder mehreren DLLs vorkommt, und falls ja, in welcher/n.
>=20
> Ist soetwas mit Perl lösbar?
>=20
> LG, Ferry
>=20

Schau Dir mal das Module an: http://search.cpan.org/~gaal/FFI-1.03/

Grüße,
Reinhard

--=20
PM Mails an rpirpag gmx dot at

Re: Zugriff auf DLL"s

am 01.02.2008 11:46:53 von Frank Seitz

Ferry Bolhar wrote:
>
> gegeben sei ein Funktionsname und ein Verzeichnis mit ca. 150 DLLs.
> Gesucht wird die Antwort, ob eine Funktion mit diesem Namen in
> einer oder mehreren DLLs vorkommt, und falls ja, in welcher/n.
>
> Ist soetwas mit Perl lösbar?

Sicher ist das mit Perl lösbar. Die eigentliche Frage ist aber,
wie du an die Information herankommst, und das ist eine Windows-Frage.
Unter Unix würde ich nm(1) nutzen.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: Zugriff auf DLL"s

am 01.02.2008 13:24:59 von Ferry Bolhar

Frank Seitz:

>> Ist soetwas mit Perl lösbar?
>
> Sicher ist das mit Perl lösbar. Die eigentliche Frage ist aber,
> wie du an die Information herankommst, und das ist eine Windows-
> Frage. Unter Unix würde ich nm(1) nutzen.

Genau. Meine Frage war eben, ob es ein Perl-Modul gibt, das die
nm-Funktionalität unter Win32 zur Verfügung stellt. AFAIK gibt es
unter W32 ja kein Tool, das nm entsprechen würde (zumindest nicht
unter einer Standard-Installation). Ich denke an eine Funktion,
der man einen DLL Namen übergibt und die (z.B. in einem Array) die
Namen aller von extern aufrufbaren Funktionen zurückliefert.

Die Idee dahinter ist, einem Skript eine Reihe globaler
Funktionsnamen zu übergeben und von diesem eine Liste aller DLLs
zurückzuerhalten, die beim Linken zum Einbinden dieser Funktionen
angegeben werden müssen, damit in weitere Folge damit eine
entsprechende Prozedur (oder nmake-Datei) erstellt werden kann.

Für VMS habe ich soetwas seinerzeit geschrieben, allerdings ist
dort das Format von DLL/.so Dateien (nennen sich dort "Shareable
Images") offengelegt, daher war das nicht allzu schwierig. Nun
bräuchte ich eben soetwas auch für Win32 DLLs.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf@wien.gv.at

Re: Zugriff auf DLL"s

am 01.02.2008 13:44:41 von Frank Seitz

Ferry Bolhar wrote:
>
> Für VMS habe ich soetwas seinerzeit geschrieben, allerdings ist
> dort das Format von DLL/.so Dateien (nennen sich dort "Shareable
> Images") offengelegt, daher war das nicht allzu schwierig. Nun
> bräuchte ich eben soetwas auch für Win32 DLLs.

Hast du es mal in diesen NGs versucht?

de.comp.os.ms-windows.programmer
de.comp.os.ms-windows.misc

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: Zugriff auf DLL"s

am 01.02.2008 15:17:18 von Andreas Puerzer

Ferry Bolhar schrieb:
> Hallo,
>
> gegeben sei ein Funktionsname und ein Verzeichnis mit ca. 150 DLLs.
> Gesucht wird die Antwort, ob eine Funktion mit diesem Namen in
> einer oder mehreren DLLs vorkommt, und falls ja, in welcher/n.
>
> Ist soetwas mit Perl lösbar?

Was ist nicht mit Perl lösbar? ;->

Kenne zwar keine reine Perl-Lösung, aber die Tools die mir dafür in den
Sinn kommen wären:
'pexports' aus dem MingW-Utils-Paket


und für die Abhängigkeiten dann evtl. noch 'Dependency Walker'
.

>
> LG, Ferry
>

HTH,
Andreas Pürzer

--
Have Fun,
and if you can't have fun,
have someone else's fun.
The Beautiful South