Как просмотреть список функций, которые экспортирует разделяемая библиотека Linux? - PullRequest
165 голосов
/ 23 декабря 2010

Я хочу просмотреть экспортированные функции общей библиотеки в Linux.

Какая команда позволяет мне это сделать?

(от Windows я пользуюсь программой зависит)

Ответы [ 3 ]

272 голосов
/ 23 декабря 2010

Что вам нужно, это nm и его опция -D:

$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
         U atanf
         U calloc
.
.
.

Экспортированные символы обозначаются T.Обязательные символы, которые должны быть загружены из других общих объектов, имеют U.Обратите внимание, что таблица символов включает в себя не только функции, но и экспортируемые переменные.

Для получения дополнительной информации см. Справочную страницу nm .

33 голосов
/ 11 апреля 2014

objdump -T *.so также может выполнять работу

4 голосов
/ 03 июля 2015

На MAC вам нужно использовать nm *.o | c++filt, так как в nm.

нет опции -C.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...