Как просмотреть список функций, которые экспортирует библиотека Linux?

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

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

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

Ответ 1

Вам нужно nm и его -D:

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

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

Дополнительную информацию см. на странице nm .

Ответ 2

objdump -T *.so может также выполнять задание

Ответ 3

На MAC необходимо использовать nm *.o | c++filt, поскольку в nm нет опции -C.