Quiero ver las funciones exportadas de una biblioteca compartida en Linux.
¿Qué comando me permite hacer esto?
(En Windows uso el programa depende)
linux
export
shared-libraries
ljbade
fuente
fuente
Respuestas:
Lo que necesita es
nm
y su-D
opción:Los símbolos exportados se indican con a
T
. Los símbolos obligatorios que deben cargarse desde otros objetos compartidos tienen unU
. Tenga en cuenta que la tabla de símbolos no incluye solo funciones, sino también variables exportadas.Vea la
nm
página del manual para más información.fuente
nm
sin la-D
bandera.objdump -T *.so
también puede hacer el trabajofuente
En un MAC, debe usarlo
nm *.o | c++filt
, ya que no hay ninguna-C
opciónnm
.fuente
Entre otras herramientas ya mencionadas, puede usar también
readelf
( manual ). Es similarobjdump
pero va más en detalle. Vea esto para la explicación de la diferencia.fuente