Sur un système unix / linux, comment puis-je en savoir plus sur une archive mylib.a?
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?
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'.