在 unix/linux 系统上,我如何了解有关 mylib.a 存档的更多信息?

发布于 2024-07-06 13:07:46 字数 89 浏览 9 评论 0原文

在这种特殊情况下,我试图发现 mylib.a 文件是否兼容 32 位或 64 位。 我熟悉共享对象 (mylib.so) 的 ldd,但如何检查常规 .a 存档?

In this particular case I'm trying to discover if a mylib.a file is 32 or 64 bit compatible. I'm familiar with ldd for shared objects (mylib.so) but how do I inspect a regular .a archive?

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

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

发布评论

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

评论(4

独孤求败 2024-07-13 13:07:46

“nm”和“ar”将为您提供有关图书馆档案的一些信息。

"nm" and "ar" will give you some information about the library archive.

情丝乱 2024-07-13 13:07:46
$ objdump -G /usr/lib/libz.a
In archive /usr/lib/libz.a:

adler32.o:     file format elf32-i386

...

$ objdump -G /usr/lib64/libz.a
In archive /usr/lib64/libz.a:

adler32.o:     file format elf64-x86-64

...

$ objdump -G /ppc-image/usr/lib/libz.a
In archive /ppc-image/usr/lib/libz.a:

adler32.o:     file format elf32-powerpc

...

需要一个支持多库的 binutils,但它非常简单,不是吗?

$ objdump -G /usr/lib/libz.a
In archive /usr/lib/libz.a:

adler32.o:     file format elf32-i386

...

$ objdump -G /usr/lib64/libz.a
In archive /usr/lib64/libz.a:

adler32.o:     file format elf64-x86-64

...

$ objdump -G /ppc-image/usr/lib/libz.a
In archive /ppc-image/usr/lib/libz.a:

adler32.o:     file format elf32-powerpc

...

Requires a multilib-capable binutils, but it's pretty straightforward, is it not?

花桑 2024-07-13 13:07:46

标准“nm”和“ar”实用程序将为您提供有关存档的信息。

要了解存档的 32/64 位功能,请使用“ar”提取 mylib.a 内的 .o 文件,然后对 .o 文件运行“file”以发现其类型,包括 32/64 位用法。

Standard "nm" and "ar" utilities will give you information about the archive.

To learn about the 32/64 bit ability of the archive use "ar" to extract the .o files inside the mylib.a, then run "file" on the .o files to discover their type including the 32/64 bit usage.

烟织青萝梦 2024-07-13 13:07:46

在一般情况下,我只使用“文件”实用程序。

In the general case, I just use the 'file' utility.

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