Quiero ver las funciones exportadas de una biblioteca compartida en Linux.¿Cómo veo la lista de funciones que está exportando una biblioteca compartida de Linux?
¿Qué comando me permite hacer esto?
(En Windows utilizo el programa depende)
Quiero ver las funciones exportadas de una biblioteca compartida en Linux.¿Cómo veo la lista de funciones que está exportando una biblioteca compartida de Linux?
¿Qué comando me permite hacer esto?
(En Windows utilizo el programa depende)
Lo que se necesita es nm
y su opción -D
:
$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
U atanf
U calloc
.
.
.
sumbols exportados se indican mediante un T
. Los símbolos obligatorios que se deben cargar desde otros objetos compartidos tienen un U
. Tenga en cuenta que la tabla de símbolos no incluye solo funciones, sino también variables exportadas.
Consulte nm
manual page para obtener más información.
objdump -T *.so
también puede hacer el trabajo
@gotqn: ¿qué te hace pensar que esto no es una respuesta? –
en un Mac, es necesario utilizar nm *.o | c++filt
, ya que no hay ninguna opción en -C
nm
.
una pregunta similar: [¿Cómo puedo saber qué se exportan todos los símbolos desde un objeto compartido?] (Http://stackoverflow.com/questions/1237575/how-do-i-find-out-what-all -symbols-are-exported-from-a-shared-object) –