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