c linux shared-objects dll

Línea de comando para ver los contenidos Módulo de objetos compartidos(lib*.so)



linux shared-objects (3)

¿Cuál es la línea de comando para ver los contenidos de un módulo de objeto compartido (lib * .so)?

Me gusta como usamos:

ar -t lib*.a

para archivos (lib * .a) y muestra todos los archivos de objeto en la biblioteca.

EDIT1

Ejemplo

ar -t lib*.a

me da una pantalla:

activo.o

sldep.o


Creo que nm -D es lo que estás buscando.

$ nm -D /usr/lib/libpng.so ... 00000000000058f0 T png_reset_zstream 000000000000d420 T png_save_int_32 000000000000d450 T png_save_uint_16 000000000000d3f0 T png_save_uint_32 0000000000007810 T png_set_IHDR 0000000000007500 T png_set_PLTE 000000000000ce20 T png_set_add_alpha 0000000000006670 T png_set_asm_flags 0000000000006970 T png_set_bKGD 000000000001a740 T png_set_background ...


El comando nm -D enumera los símbolos dinámicos de su biblioteca compartida, que parece ser exactamente lo que desea.


use nm -D --defined-only libname.so para obtener los nombres de los símbolos de su biblioteca dinámica.
El --defined-only muestra solo el símbolo que está definido en estos archivos, y no referencias a funciones externas.

Una alternativa es usar objdump y capturar solo los símbolos en la sección de texto:

objdump -T /usr/lib/libjpeg.so | grep text ... 0001b5c0 g DF .text 00000016 Base jdiv_round_up 00003730 g DF .text 00000417 Base jpeg_set_colorspace 0000cda0 g DF .text 000002de Base jpeg_consume_input 00002b30 g DF .text 00000023 Base jpeg_abort_compress 00003b50 g DF .text 000000b6 Base jpeg_default_colorspace 00002810 g DF .text 00000067 Base jpeg_suppress_tables 00004110 g DF .text 00000130 Base jpeg_add_quant_table 000100c0 g DF .text 0000011f Base jpeg_save_markers ...