Как напечатать список символов, экспортируемых из динамической библиотеки - PullRequest
112 голосов
/ 22 декабря 2010

Итак, я пытался заставить динамические библиотеки работать в моем проекте XCode под Mac OS X. Пока что нет радости.

Я могу загрузить файл dylib, но когда я вызываю dlsym дляполучить указатель на функцию, он возвращает 0 и dlerror говорит, что символ не найден.

Так что мне интересно, есть ли простой способ перечисления символов, которые экспортируются из файла dylib.Любые идеи были бы великолепны.

Ответы [ 4 ]

135 голосов
/ 22 декабря 2010

человек 1 нм

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/nm.1.html

Например:

nm -gU /usr/local/Cellar/cairo/1.12.16/lib/cairo/libcairo-trace.0.dylib
54 голосов
/ 27 октября 2012

Использование otool :

otool -TV your.dylib

ИЛИ

nm -g your.dylib
13 голосов
/ 29 августа 2013

Использование nm -a your.dylib

Он напечатает все символы, включая глобальные

0 голосов
/ 03 июня 2016

Используйте Mach-OView для просмотра всех символов в dylib

https://sourceforge.net/projects/machoview/

...