Sur un système unix / linux, comment puis-je en savoir plus sur une archive mylib.a?

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

  •  06-07-2019
  •  | 
  •  

Question

Dans ce cas particulier, j'essaie de déterminer si un fichier mylib.a est compatible 32 ou 64 bits. Je connais bien ldd pour les objets partagés (mylib.so), mais comment puis-je inspecter une archive .a normale?

Était-ce utile?

La solution

"nm" et " ar " vous donnera des informations sur les archives de la bibliothèque.

Autres conseils

$ 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

...

Nécessite un binutils compatible multilib, mais c'est assez simple, n'est-ce pas?

Standard & nm; nm " et " ar " Les utilitaires vous donneront des informations sur les archives.

Pour en savoir plus sur la capacité 32/64 bits de l'archive, utilisez "ar". extraire les fichiers .o dans mylib.a, puis exécuter "fichier". sur les fichiers .o pour découvrir leur type, y compris l’utilisation 32/64 bits.

Dans le cas général, je viens d'utiliser l'utilitaire 'fichier'.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top