Wie kann ich auf einem Unix/Linux -System mehr über ein Archiv von Mylib.a erfahren?

StackOverflow https://stackoverflow.com/questions/184502

  •  06-07-2019
  •  | 
  •  

Frage

In diesem speziellen Fall versuche ich herauszufinden, ob eine Datei mylib.a 32 oder 64 Bit kompatibel ist. Ich bin mit LDD für gemeinsame Objekte (Mylib.so) vertraut, aber wie kann ich ein reguläres. Ein Archiv inspizieren?

War es hilfreich?

Lösung

"NM" und "AR" geben Ihnen einige Informationen über das Archiv der Bibliothek.

Andere Tipps

$ objdump -G /usr/lib/libz.a
In archive /usr/lib/libz.a:

adler32.o:     file format elf32-i386

...

$ objdump -G /usr/lib64/libz.a
In archive /usr/lib64/libz.a:

adler32.o:     file format elf64-x86-64

...

$ objdump -G /ppc-image/usr/lib/libz.a
In archive /ppc-image/usr/lib/libz.a:

adler32.o:     file format elf32-powerpc

...

Benötigt eine multilib-fähige binutils, Aber es ist ziemlich einfach, nicht wahr?

Standard "NM" und "AR" -Vergabedienstprogramme geben Ihnen Informationen über das Archiv.

Um über die 32/64 -Bit -Fähigkeit des Archivs zu erfahren, verwenden Sie "AR", um die .o -Dateien in der mylib.a zu extrahieren, und führen Sie dann "Datei" auf den .o -Dateien aus, um ihren Typ einschließlich der Nutzung von 32/64 zu entdecken.

Im allgemeinen Fall verwende ich nur das Dienstprogramm "Datei".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top