静态库的内容

发布于 2024-09-19 23:59:38 字数 94 浏览 8 评论 0原文

我有一个静态库,例如mystaticlib.a。我想查看它的内容,例如其中的目标文件数量。

我怎样才能在海湾合作委员会上做到这一点?

I have a static library, say mystaticlib.a. I want to see its contents, such as the number of object files inside it.

How can I do this on gcc?

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

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

发布评论

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

评论(5

谎言 2024-09-26 23:59:51

我刚刚发现您可以使用 readelf -a 来显示静态库中所有目标文件的内容。

像这样调用 readelf 命令:$ readelf -a mystaticlib.a

I just discovered that you can use readelf -a to display the contents of all the object files in a static library.

Invoke the readelf command like this: $ readelf -a mystaticlib.a.

菊凝晚露 2024-09-26 23:59:50

它只是偶然发现了这一点:

您可以使用 7zip 打开存档 (.a)。
也适用于存档中的目标文件。
列出各种内容,例如.text、.bss、等及其偏移量、长度、类型...
此外,还可以使用十六进制编辑器或记事本++来解压所有内容,以查看内容。
我使用使用 GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi- Toolchain 创建的存档对此进行了测试
7Zip 16.04(64位)

It just stumbled over this:

You can open an archive (.a) with 7zip.
Also works for the object files in the archive.
Listing all sorts of contents like .text, .bss, .data, etc. with their offset, length, type, ...
Furthermore its possible to unpack all, using a hex editor or notepad++ to view the contents.
I tested this with an archive created with GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi- Toolchain
and 7Zip 16.04 (64-bit)

请持续率性 2024-09-26 23:59:49

在 Mac 上,只需使用

nm libschnoeck.a | less

Mac 版本的 nm 没有 -C 选项。

On a Mac, simply use

nm libschnoeck.a | less

There is no -C option with the Mac version of nm.

帅气尐潴 2024-09-26 23:59:48

您可以使用 nm 查看内容(其中的 .o 文件)和定义的符号。如果其中包含 C++ 代码,您应该使用 -C 选项来解析符号名称:

nm -C libschnoeck.a | less

You can see the contents (the .o files that went into it) and the defined symbols by using nm. If this contains C++ code you should use the -C option to demangle the symbol names:

nm -C libschnoeck.a | less
↘人皮目录ツ 2024-09-26 23:59:46

在 gcc 上,使用 ar -t 。

gnu archiver (ar)-t 选项写入归档到标准输出的目录。只有文件操作数指定的文件才应包含在写入列表中。如果未指定文件操作数,则归档中的所有文件均应按归档顺序包含。

更多信息请参见此处

On gcc, use ar -t.

-t option of the gnu archiver (ar) writes a table of contents of archive to the standard output. Only the files specified by the file operands shall be included in the written list. If no file operands are specified, all files in archive shall be included in the order of the archive.

More info here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文