我有一個.a文件,我想從中獲取架構信息。運行file myFile.a
結果在file.a: current ar archive
。如何獲得更多關於該文件包含哪些體系結構的信息?如何獲得'.a'文件的體系結構?
20
A
回答
30
您也可以跳過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 $
如果相關,可以從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
即輸出爲libxslt.a
目標文件一個,但它給每個文件相同的信息。
2
從歸檔中提取的目標文件,並用文件(1),納米(1)等
5
objdump
是另一種選擇:
objdump -a file.a|grep 'file format'
13
使用
脂-info libExample.a
這將是誰的架構是建立。其他功能,如otool或文件不會給出確切的答案,有時它會冗長以獲取正確的信息。
+2
lipo似乎是特定於OS X的。 – MetalGodwin 2015-11-16 10:11:47
0
我會建議使用objdump而不是lipo。 objdump提供比lipo更詳細的信息。
相關問題
- 1. C#如何獲得操作系統體系結構(x86或x64)?
- 2. 「otool」和「file」無法顯示「.a」文件的體系結構
- 3. 如何獲得程序集dll的處理器體系結構?
- 4. Linux文件系統體系結構
- 5. 使用./configure構建特定體系結構的.dylib或.a文件
- 6. 如何獲得一個結構部件上指針的結構體內部
- 7. AJAX站點的文件結構/體系結構?
- 8. 瞭解Symfony2中的體系結構和文件夾結構?
- 9. Angular 4簡單的文件夾結構更改體系結構
- 10. AS3事件體系結構
- 11. MigratorDotNet插件體系結構
- 12. jquery插件體系結構
- 13. Ruby插件體系結構
- 14. 無論目標機器的體系結構如何獲得Program Files的路徑
- 15. 如何在android運行時得到芯片的體系結構
- 16. 獲取當前的GCC體系結構
- 17. PHP三層體系結構文件夾結構
- 18. 如何在一次調用文件系統時獲得目錄結構?
- 19. 如何獲得Edb文件Msg表的結構?
- 20. 如何獲得新的laravel 5.4文件夾結構
- 21. 獲取libxml2.2.dylib文件錯誤「文件不是必需的體系結構」
- 22. MVC體系結構
- 23. Graphql體系結構
- 24. Rails體系結構?
- 25. mongodb體系結構
- 26. Firebug體系結構
- 27. CakePHP體系結構
- 28. Elasticsearch體系結構
- 29. '組件體系結構'和'模塊化體系結構'之間的區別
- 30. 處理文件系統更改的最佳體系結構?
建議在該列表中添加'Machine'。這將包括目標文件所針對的特定CPU的信息,而不僅僅是32位或64位等等。 – cHao 2010-09-18 04:46:46
@cHao:是的,我也想到了。我正在做另一個編輯(並且我添加了'readelf -h'的整個輸出)。 – eldarerathis 2010-09-18 04:50:20
謝謝!這正是我所期待的。 – Mike 2010-09-18 04:52:22