如何查看Linux共享库导出的函数列表?

8 浏览
0 Comments

如何查看Linux共享库导出的函数列表?

我想查看Linux上共享库的导出函数。

有什么命令可以实现这个功能吗?

(在Windows上我使用depends程序)

0
0 Comments

问题:如何查看Linux共享库导出的函数列表?

原因:需要查看Linux共享库导出的函数列表。

解决方法:使用objdump -T *.so命令。

0
0 Comments

如何查看Linux共享库导出的函数列表?

问题出现的原因:有时候我们需要查看一个Linux共享库导出的函数列表,以便了解库中可用的功能。然而,没有直接的命令或工具可以查看这个列表。

解决方法:我们可以使用nm命令来查看共享库导出的函数列表。具体步骤如下:

1. 打开终端并运行以下命令:

nm -D /usr/lib/libopenal.so.1

这里的"/usr/lib/libopenal.so.1"是你要查看的共享库的路径。

2. 执行命令后,终端会显示共享库中导出的函数列表。导出的函数会被标记为"T",而来自其他共享库的必需符号会被标记为"U"。请注意,符号表不仅包括函数,还包括导出的变量。

3. 如果只想查看导出的符号,可以添加"--defined-only"标志。例如:

nm -D --defined-only /lib/libtest.so

这里的"/lib/libtest.so"是另一个共享库的路径。

4. 在Mac OS X上,可以直接使用nm命令,不需要添加"-D"标志。

5. 如果需要C++名称解析,请添加"-C"选项。

通过nm命令和相关选项,我们可以轻松地查看Linux共享库导出的函数列表。更多详细信息可以参考nm命令的手册页。

0
0 Comments

问题的原因是用户想要查看一个Linux共享库导出的函数列表。解决方法是使用readelf命令来查看。readelf类似于objdump,但提供了更详细的信息。用户可以使用以下命令来查看共享库的导出函数列表:

readelf -sW /lib/liblzma.so.5 |head -n10

这将输出共享库的符号表信息,包括每个符号的类型、绑定、可见性和名称。然而,有时readelf的输出会非常庞大,难以阅读。为了解决这个问题,用户可以将输出重定向到一个文件中,以便稍后查看:

readelf -sW *.so > out.txt

这将将输出写入一个名为out.txt的文件中,用户可以随时打开并查看导出函数的列表。

0