我有一个共享对象(dll).我如何找出所有符号都是从中导出的?

推荐答案

您有"共享对象"(通常是AIX上的共享库)、UNIX共享库还是Windows DLL?这些都是不同的事情,你的问题把它们都混为一谈:-(

  • 对于AIX共享对象,使用dump -Tv /path/to/foo.o.
  • 对于ELF共享库,使用readelf -Ws --dyn-syms /path/to/libfoo.so或(如果您有GNU nm)nm -D /path/to/libfoo.so.
  • 对于非ELF UNIX共享库,请说明您感兴趣的which个UNIX.
  • 对于Windows DLL,请使用dumpbin /EXPORTS foo.dll.

Linux相关问答推荐

将UTC字符串日期时间转换为毫秒UTC时间戳

Linux内核中维护进程无关寄存器失败

如何告诉链接器不要在链接的共享库中查找某些符号?

std::chrono::time_zone 在不同操作系统上不可用

为什么库中不调用全局变量的构造函数?

如何在Linux下使用正则表达式更改文件名

使用文件名重新打开 linux 管道(仅从一侧)

inotifywait 可以说文件在另一个进程可以访问之前已关闭吗?

未找到 SDL_Vertex 和 SDL_RenderGeometry

c++进程状态中的+是什么意思

Ubuntu 20 不支持 MAP_FIXED_NOREPLACE

我需要 -D_REENTRANT 和 -pthreads 吗?

用于将文件夹从本地计算机复制到远程服务器的 scp 命令语法

如何列出附加到Linux中共享内存段的进程?

Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

我可以告诉 Linux 不要换出特定进程的内存吗?

将所有文件扩展名转换为小写

Python日志(log)记录 - 判断日志(log)文件的位置?

如何获取 GNU Makefile 中使用的 shell 命令的退出状态?

在 bash 脚本中使用备用屏幕