Chcę wyświetlić wyeksportowane funkcje biblioteki współdzielonej w systemie Linux.
Jakie polecenie pozwala mi to zrobić?
(W systemie Windows używam program zależy)
linux
export
shared-libraries
Ljbade
źródło
źródło
Odpowiedzi:
Potrzebujesz tego
nm
i jego-D
opcji:Wyeksportowane sumboli są oznaczone symbolem
T
. Wymagane symbole, które muszą zostać załadowane z innych wspólnych obiektów, mają znakU
. Zauważ, że tablica symboli zawiera nie tylko funkcje, ale także eksportowane zmienne.Więcej informacji znajduje się na
nm
stronie podręcznika .źródło
nm
bez-D
flagi.objdump -T *.so
może również wykonać pracęźródło
Na MAC musisz użyć
nm *.o | c++filt
, ponieważ nie ma-C
opcji wnm
.źródło
Wśród innych już wspomnianych narzędzi można również użyć
readelf
( ręczny ). Jest podobny,objdump
ale bardziej szczegółowy. Zobacz to dla wyjaśnienia różnicy.źródło