命令行查看共享对象模块(lib*.so)的内容
查看共享对象模块 (lib*.so) 内容的命令行是什么?
就像我们如何使用:
ar -t lib*.a
for archives(lib*.a) 一样,它显示库中的所有目标文件。
EDIT1
示例
ar -t lib*.a
给我一个显示:
asset.o
sldep.o
What is the command line to see the contents of a Shared Object module (lib*.so)?
Like how we use:
ar -t lib*.a
for archives(lib*.a) and it displays all the object files in the library.
EDIT1
Example
ar -t lib*.a
gives me a display:
asset.o
sldep.o
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 nm -D --define-only libname.so 从动态库中获取符号名称。
--define-only
开关仅显示这些文件中定义的符号,而不显示对外部函数的引用。另一种方法是使用 objdump,并仅捕获文本部分中的符号:
use
nm -D --defined-only libname.so
to get the symbol names from your dynamic library.The
--defined-only
switch shows you only the symbol that are defined in these files, and not references to external functions.An alternative is to use objdump, and catch only the symbols in the text section :
我认为
nm -D
就是您正在寻找的。I think
nm -D
is what you're looking for.nm -D 命令列出了共享库的动态符号,这似乎正是您想要的。
The
nm -D
command lists the dynamic symbols of your shared library, which seems to be exactly what you want.