2015-04-01 132 views
0

我想验证对象是否在被编译的32位或64位:确定是否编译ELF对象是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位模式下?

+3

GNU'file'命令会告诉你架构和位。 – teppic 2015-04-01 16:43:43

回答

1

胖二进制文件对于ELF不常见或不标准,所以该类可靠地指示32位和64位。但要弄清楚你是在看32位的x86,ARM,MIPS还是其他什么的,你还必须在Type字段的下方检查Machine字段。

相关问题