En un sistema unix / linux, ¿cómo puedo obtener más información sobre un archivo mylib.a?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

En este caso particular, estoy tratando de descubrir si un archivo mylib.a es compatible con 32 o 64 bits. Estoy familiarizado con ldd para objetos compartidos (mylib.so), pero ¿cómo inspecciono un archivo .a normal?

¿Fue útil?

Solución

nm " y "ar" le dará información sobre el archivo de la biblioteca.

Otros consejos

$ 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

...

Requiere un binutils con capacidad multilib, pero es bastante sencillo, ¿no?

Estándar '' nm '' y "ar" las utilidades le darán información sobre el archivo.

Para obtener información sobre la capacidad de 32/64 bits del archivo, utilice " ar " para extraer los archivos .o dentro de mylib.a, luego ejecute " file " en los archivos .o para descubrir su tipo, incluido el uso de 32/64 bits.

En el caso general, solo uso la utilidad 'archivo'.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top