如何在.so文件中列出符号

如何在.so文件中列出符号

如何列出从.so文件导出的符号?如果可能的话,我也想知道它们的来源(例如,如果它们是从静态库中引入的)。

我正在使用gcc 4.0.2,如果这有所不同。


有只小跳蛙
浏览 1408回答 3
3回答

潇湘沐

我一直想知道为什么-fvisibility = hidden和#pragma GCC可见性似乎没有任何影响,因为所有的符号总是用nm可见- 直到我发现这篇文章指向我readelf和objdump,这让我意识到那里似乎实际上是两个符号表:你可以用nm列出的那个你可以用readelf和objdump列出的那个我认为前者包含可以使用strip剥离的调试符号或者可以为链接器或install命令提供的-s开关。即使nm不再列出任何内容,导出的符号仍会被导出,因为它们位于ELF“动态符号表”中,后者就是后者。
打开App,查看更多内容
随时随地看视频慕课网APP