c++ - 有没有办法在不加载的情况下读取 .so 文件的内容?

标签 c++ shared-objects shared-libraries

有没有什么方法可以在不加载 .SO(共享对象)文件的情况下读取它的内容?

我的用例场景是:

  1. 我在 Windows 上有一个 .so 文件。我需要查询某些方法是否存在于 .so 中。
  2. 了解 .so 文件中的所有类。
  3. 给定一个类名需要找到这个类的所有方法。

注意:我可以在 DLL 上轻松完成这些事情。我也在 Windows 上工作,所以我无法加载 .SO 文件。

谢谢

最佳答案

到屏幕:readelf -a <file>

要保存输出,请将其转储到文件中。例如,我正在学习 Raspberry Pi 上的 Python RPi.GPIO 模块,它存储在/usr/lib/python2.7/dist-packages/RPi 中,所以我运行: readelf -a GPIO.so > ~/gpio.so.out

关于c++ - 有没有办法在不加载的情况下读取 .so 文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396048/

相关文章:

c - 哪种数据结构在共享内存场景和快速查找中效果最好

c++ - 如何检查一个类是否有特定的构造函数?

c++ - 可移植共享对象?

c# - C# 中的共享对象用于 python 脚本

c++ - 在 dll 中解析外部符号

C++ 共享库 : Creation and usage

c++ - 不匹配 ‘operator-’

c++ - Dev C++中的编译错误错误

c++ - 使用 chrono 获取当前日期