有什么方法可以知道目标文件中导出了哪些符号?

发布于 2024-08-20 14:47:52 字数 152 浏览 8 评论 0原文

您好,我在 Linux 环境中工作,我必须链接到一个已编译的目标文件,该文件为我提供了一些服务(services.o),我知道其中一些服务,但我想知道哪些是所有导出的它的符号。

在没有来源的情况下有什么办法可以实现这一点吗?如果是这样,怎么办?

非常感谢你。

Hi I'm working in a Linux environment and I have to link to a object file already compiled which offers me some services (services.o) and I know some of them, but I'd like to know which are all of the exported symbols of it.

Is there any way to accomplish this not having the sources? If so, how?

Thanks you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怪异←思 2024-08-27 14:47:52

尝试nm——这个工具就是为了这个目的而存在的。

Try nm -- this tool is there for just this purpose.

长安忆 2024-08-27 14:47:52

另一个选项是 objdump 它也可以向您展示许多其他内容

Another option is objdump which also can show you a bunch of other stuff

残龙傲雪 2024-08-27 14:47:52

或者您可以使用readelf -s,这提供了更多详细信息。

Symbol table '.symtab' contains 19 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS a.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
     8: 0000000000000000     0 SECTION LOCAL  DEFAULT    9 
     9: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
    10: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
    11: 0000000000000000     0 SECTION LOCAL  DEFAULT   14 
    12: 0000000000000000     0 SECTION LOCAL  DEFAULT   16 
    13: 0000000000000000     0 SECTION LOCAL  DEFAULT   17 
    14: 0000000000000000     0 SECTION LOCAL  DEFAULT   15 
    15: 0000000000000000    71 FUNC    GLOBAL DEFAULT    1 fa_global
    16: 0000000000000000     4 OBJECT  GLOBAL DEFAULT    4 a
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND fb_ex
    18: 0000000000000050    17 FUNC    GLOBAL DEFAULT    1 test

or you can use readelf -s, this provides more detail infos.

Symbol table '.symtab' contains 19 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS a.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
     8: 0000000000000000     0 SECTION LOCAL  DEFAULT    9 
     9: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
    10: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
    11: 0000000000000000     0 SECTION LOCAL  DEFAULT   14 
    12: 0000000000000000     0 SECTION LOCAL  DEFAULT   16 
    13: 0000000000000000     0 SECTION LOCAL  DEFAULT   17 
    14: 0000000000000000     0 SECTION LOCAL  DEFAULT   15 
    15: 0000000000000000    71 FUNC    GLOBAL DEFAULT    1 fa_global
    16: 0000000000000000     4 OBJECT  GLOBAL DEFAULT    4 a
    17: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND fb_ex
    18: 0000000000000050    17 FUNC    GLOBAL DEFAULT    1 test
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文