gpt4 book ai didi

aix - 从 Linux 确定 AIX 的库存档是 32 位、64 位还是两者兼而有之

转载 作者:行者123 更新时间:2023-12-02 02:36:07 25 4
gpt4 key购买 nike

在 AIX 上,我会运行:

ar -X32 -t libdb2.a

并检查输出以确定存档中是否有 32 位对象。与 -X64 类似,用于检查 64 位对象。但是,如果我在另一个平台上,并且需要检查存档以查看它有什么怎么办?通常我在需要检查时使用 Linux,但我也可以轻松使用 Solaris 或 HP-UX。

我曾经检查过 shr.o 和 shr_64.o,因为这是正在编译的内容,但它们开始出现在存档中的实际消息中,因此它们的可靠性已经下降到我收到误报。

如果有人有指导,最好是我可以用 perl 做的事情,那就太好了。

最佳答案

我认为没有简单的方法。如果创建两个 AIX 归档文件,一个 32 位和一个 64 位,如下所示:

$ cat a.c
int foo (void) { return 42; }
$ xlc -q32 a.c -c -o a32.o
$ xlc -q64 a.c -c -o a64.o
$ ar -X32 cr a32.a a32.o
$ ar -X64 cr a64.a a64.o

你最终得到的文件不是 linux ar 可读的格式:

$ file a32.a a64.a 
a32.a: archive (big format)
a64.a: archive (big format)
$ ar t a32.a
ar: a32.a: File format not recognized
$ ar t a64.a
ar: a64.a: File format not recognized

我尝试使用 strings 查看文件中是否有任何明显的内容,但一无所获。您剩下的唯一选择是构建一个针对 AIX 的 binutils 程序包(下载 binutils,使用选项 --target=powerpc-ibm-aix5.3 进行配置,运行 make,瞧瞧:你在那个构建树的某处有一个名为 powerpc-ibm-aix5.3-ar 的工具。

关于aix - 从 Linux 确定 AIX 的库存档是 32 位、64 位还是两者兼而有之,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1705421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com