Zugriff auf DLL's

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 [at] wien.gv.at
Ferry Bolhar [ Fr, 01 Februar 2008 09:02 ] [ ID #1922181 ]

Re: Zugriff auf DLL's

Ferry Bolhar wrote:
> 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
>

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

Grüße,
Reinhard

--
PM Mails an rpirpag <at> gmx dot at
Reinhard Pagitsch [ Fr, 01 Februar 2008 11:35 ] [ ID #1922182 ]

Re: Zugriff auf DLL's

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
Frank Seitz [ Fr, 01 Februar 2008 11:46 ] [ ID #1922183 ]

Re: Zugriff auf DLL's

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 [at] wien.gv.at
Ferry Bolhar [ Fr, 01 Februar 2008 13:24 ] [ ID #1922184 ]

Re: Zugriff auf DLL's

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
Frank Seitz [ Fr, 01 Februar 2008 13:44 ] [ ID #1922185 ]

Re: Zugriff auf DLL's

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
<http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=61599>

und für die Abhängigkeiten dann evtl. noch 'Dependency Walker'
<http://www.dependencywalker.com/>.

>
> LG, Ferry
>

HTH,
Andreas Pürzer

--
Have Fun,
and if you can't have fun,
have someone else's fun.
The Beautiful South
Andreas Puerzer [ Fr, 01 Februar 2008 15:17 ] [ ID #1922187 ]
Perl » de.comp.lang.perl.misc » Zugriff auf DLL's

Vorheriges Thema: Re: sporadisch keine Leserechte von mit GD erstelltem Image
Nächstes Thema: log4perl und mod_perl