[英]How does gcc determine if to generate a 32-bit or 64-bit executable file by default?
[英]Determine if a compiled ELF object is 32-bit or 64-bit
我想驗證一個對象是用 32 位還是 64 位編譯的:
% readelf -h my_obj
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
...
既然顯示的是ELF32,這能保證對象是32位模式嗎?
胖二進制文件對於 ELF 來說並不常見或標准,因此該類確實可以可靠地指示 32 位和 64 位。 但是要弄清楚您是在查看 32 位 x86、ARM、MIPS 還是其他任何東西,您還必須檢查 Type 字段正下方的 Machine 字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.