Funktionen in einer Library
-
Unter Linux/Unix besteht ja die Möglichkeit, sich anzeigen zu lassen, welche Symbole in Shared Objects (.so) enthalten sind.
Kann ich mir auch unter Windows irgendwie eine Liste der Symbole aus einer Bibliothek (.lib) anzeigen lassen?
-
Das Äquivalent zu .so ist nicht .lib, sondern .dll. Was DLLs so exportieren, kannst du dir mit depends ansehen.
-
Stimmt auch wieder.
Aber zum statischen Binden brauch ich libs.
Kann ich mir auch anzeigen lassen, was in einer Lib drinnen ist?
-
Hallo
der verwendbare Inhalt eine .lib ist in einer passenden Header-Datei aufgeführt, die du includen must.
bis bald
akari
-
theorethisch ....aehm ja, nich wirklich ....
ne lib iss ne sammlung kompilierter object files.
wenn du dich mit den Internas deines compiles auskennst, solltest vielleicht ne chance haben, irgendwelche symbole lesen zu koennen und zu interpretieren. Problem iss, das das alles seh compilerabhaengig iss .Und ohne das wissen ueber den compiler mit dem das teil kompiliert wurde, kannst ueberhaupt nichts anfangen. Da iss es einfacher die .h dateien zu zu haben, das man bei nem anderen compiler bei bedarf neu uebersetzen kann.
anders bei dlls. Da isst die symbolbildung und aufrufsyntax definiert (unter windows, klar) also kannst mit anderen compilern, sprachen drauf zugreifen ... auf die nach standard exportierten schnittstellen, (natuerlich nich auf die internen).
Die externen schnittstellen sind auch extra in ner table in der dll aufgefuerht, so das man die mit tools extrahieren kann ...Symbole aus ner lib zu lesen macht allso nich allzuvil sinn, meines erachtens ... weil ohnde die .h datei und passende compilerversionen, die lib selbst wertlos iss.
Ciao ...
-
Danke.
Eure Antworten haben mir schon weitergeholfen.
-
Beim VC++6.0 konnte man die LIB-Datei einfach in ein ZIP umbenennen und konnte sich dann den Archiv-Inhalt anschauen (halt mehrere OBJ-Dateien drin).
-
beim gcc auch ... nur nich zip sondern nen anderes format ....
.a kann man also in mehrere .o extrahieren ...Ciao ...