我有一个.a文件,我想从中获取架构信息.运行file myFile.a结果file.a: current ar archive.如何获取有关该文件包含的体系结构的更多信息?
eld*_*his 36
您也可以跳过ar命令并使用readelf,例如:
readelf -h <archive>.a | grep 'Class\|File\|Machine'
[00:32:15] /usr/lib $ readelf -h libxslt.a | grep 'Class\|File\|Machine'
File: libxslt.a(attrvt.o)
Class: ELF32
Machine: Intel 80386
File: libxslt.a(xslt.o)
Class: ELF32
Machine: Intel 80386
... #Trimmed this, it goes on a bit
File: libxslt.a(transform.o)
Class: ELF32
Machine: Intel 80386
File: libxslt.a(security.o)
Class: ELF32
Machine: Intel 80386
[00:32:24] /usr/lib $
Run Code Online (Sandbox Code Playgroud)
如果它是相关的,这里是你可以得到的其他信息readelf -h.我只是修剪了上面的内容grep,显然:
File: libxslt.a(security.o)
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 2548 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 16
Section header string table index: 13
Run Code Online (Sandbox Code Playgroud)
该输出用于其中一个目标文件libxslt.a,但它为每个文件提供相同的信息.
pcb*_*abu 16
使用
lipo -info libExample.a
它将为谁构建的架构.其他功能,如otool或文件不能给出确切的答案,有时它会详细说明以获取正确的信息.
objdump 是另一种选择:
objdump -a file.a|grep 'file format'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22430 次 |
| 最近记录: |