137

所以我一直在尝试让动态库在我的 Mac OS X 下的 XCode 项目中工作。到目前为止还没有任何乐趣。

我能够加载 dylib 文件,但是当我调用 dlsym 来获取函数指针时,它返回 0 并且 dlerror 说找不到符号。

所以我想知道是否有一种简单的方法可以列出从 dylib 文件导出的符号。任何想法都会很棒。

4

4 回答 4

172

人 1 纳米

https://web.archive.org/web/20160316222941/https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nm.1.html

例如:

nm -gU /usr/local/Cellar/cairo/1.12.16/lib/cairo/libcairo-trace.0.dylib
于 2010-12-22T04:23:33.100 回答
63

使用otool

otool -TV your.dylib

或者

nm -g your.dylib
于 2012-10-27T07:50:21.460 回答
16

采用nm -a your.dylib

它将打印所有符号,包括全局变量

于 2013-08-29T07:00:45.720 回答
0

使用 Mach-OView 查看 dylib 中的所有符号

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

于 2016-06-03T11:14:48.410 回答