我有一个静态库,比如mystaticlib.a
。我想查看其内容,例如其中的目标文件数。
如何在gcc上执行此操作?
答案 0 :(得分:67)
在gcc上,使用ar -t
。
-t
选项将归档的目录写入标准输出。只有文件操作数指定的文件才能包含在书面列表中。如果未指定文件操作数,则归档中的所有文件都应包含在归档的顺序中。
答案 1 :(得分:25)
您可以使用nm
查看内容(进入其中的.o文件)和定义的符号。如果这包含C ++代码,则应使用-C
选项来解码符号名称:
nm -C libschnoeck.a | less
答案 2 :(得分:14)
在Mac上,只需使用
即可nm libschnoeck.a | less
Mac版本的nm没有-C
选项。
答案 3 :(得分:1)
它偶然跌倒了:
您可以使用7zip打开档案(.a)。
也适用于归档中的目标文件。
用其.text, .bss, .data,
列出各种内容,例如offset, length, type,
等...
此外,可以使用十六进制编辑器或notepad ++解压缩所有内容。
我使用GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi-
工具链创建的档案文件对此进行了测试
和7Zip 16.04 (64-bit)
答案 4 :(得分:0)