关于macos:如何打印从动态库导出的符号列表

您所在的位置:网站首页 查看动态库导出函数怎么设置 关于macos:如何打印从动态库导出的符号列表

关于macos:如何打印从动态库导出的符号列表

2024-04-30 13:52| 来源: 网络整理| 查看: 265

因此,我一直在尝试使动态库在Mac OS X下的XCode项目中工作。

我能够加载dylib文件,但是当我调用dlsym获取函数指针时,它返回0,而dlerror表示未找到符号。

因此,我想知道是否有一种简单的方法来列出从dylib文件导出的符号。 任何想法都很棒。

男子1海里

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

例如:

1nm -gU /usr/local/Cellar/cairo/1.12.16/lib/cairo/libcairo-trace.0.dylib 相关讨论 在OS X Leopard(10.5,是的,我知道...)下,您应该使用nm -gu,即-u选项是小写的。 man 1 nm是自包含的,在命令行更改时将继续工作:p @MK。 man 1 nm列出了nm可以做的许多事情。 同样,它是一种外部资源,可以通读以找到解决方案,但不能为请求的解决方案本身提供"一种列出从dylib文件导出的符号的简单方法"的解决方案。 但是," nm -gU ….dylib"是。

使用工具:

1otool -TV your.dylib

要么

1nm -g your.dylib 相关讨论 在新的macOS上,otool -T将显示otool: -T functionality obsolete use objdump -t otool -T在较新的OS X中报告functionality obsolete是正确的,(对于动态库)objdump -t将报告The file was not recognized as a valid object file.是正确的

使用nm -a your.dylib

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

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

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

相关讨论 我很高兴得知此GUI,但是在我加载了dylib后,它崩溃了。 我正在使用macOS Mojave。 不知道,它在我的系统上工作正常。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3