nm
静态库文件()的命令格式是什么*.a
?该命令如何输出其信息?我之所以问这个问题,是因为我使用它与head
命令得到了奇怪的结果。当我仅发出 nm 时:
nm -D /usr/lib/x86_64-linux-gnu/libg.a
我有:
...
dummy.o:
nm: dummy.o: no symbols
但是当我将 mn 的结果传送到 head 命令时:
nm -D /usr/lib/x86_64-linux-gnu/libg.a | head -n 2
我得到:
nm: dummy.o: no symbols
...
dummy.o:
(其中...
表示仅空行)这是很奇怪的,而我期望的只是:
...
dummy.o:
(仅前两行 - 第一行 - 空,第二行dummy.o:
)
grep
PS.当我通过管道传输或xargs
命令时,我也得到了同样的效果。
答案1
可能是因为 .a 是ar
档案。要列出此档案中的文件:
$ ar t /usr/lib/x86_64-linux-gnu/libg.a
dummy.o
你可以使用以下命令从 libg.a 中提取 dumy.o
ar x /usr/lib/x86_64-linux-gnu/libg.a dummy.o
但你还是找不到任何符号。也许根本就没有符号可找?
$ nm dummy.o
0000000000000000 T __dummy__