【发布时间】:2011-01-13 17:17:50
【问题描述】:
您好,我在 Linux 环境中工作,我必须链接到已编译的目标文件,该文件为我提供了一些服务 (services.o),我知道其中一些,但我想知道哪些是全部它的导出符号。
在没有资源的情况下有什么方法可以做到这一点?如果有,怎么做?
非常感谢。
【问题讨论】:
标签: c export static-libraries symbols object-files
您好,我在 Linux 环境中工作,我必须链接到已编译的目标文件,该文件为我提供了一些服务 (services.o),我知道其中一些,但我想知道哪些是全部它的导出符号。
在没有资源的情况下有什么方法可以做到这一点?如果有,怎么做?
非常感谢。
【问题讨论】:
标签: c export static-libraries symbols object-files
试试nm——这个工具就是为了这个目的。
【讨论】:
另一个选项是objdump,它还可以向您展示一堆其他东西
【讨论】:
或者您可以使用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
【讨论】: