i386为啥用0x14c来表示

找了很多资料,终于在system v r4源码中找到了答案,\t/* Intel 386 */#define I386MAGIC 05140514是八进制的数,转换后就是0x014c。嘿嘿,谢谢大家。/* 0514, 0516 and 0517 reserved for Intel */i386为啥用0x14c来表示

i386为啥用0x14c来表示


■网友
题主要是了解 COFF 和 ELF 目标文件格式是什么的话就会很快明白了. 在了解什么是目标文件格式的基础上再看下面这张 COFF 结构图. i386为啥用0x14c来表示

其中的 File Header 在实现的时候是个结构体, 这个结构体的前两个字节(unsigned short类型)表示的就是 Machine Type. 如下图: 【i386为啥用0x14c来表示】 i386为啥用0x14c来表示

而且他还是个 Magic Number. 什么是 Magic Number? 可以认为就是没来由的数字! 0x014C 也是这个道理, 就是某个程序员自己弄出来的数字, 具体什么意思可能也就他知道了. →_→顺便提一下, 比较新的 ELF 已经开始用顺序的数值来表示了. 这里有篇 ELF 的资料写的很好, 可以参考: http://staff.ustc.edu.cn/~sycheng/sst/exp_crack/ELF.pdf更多 有关 ELF 和 COFF 相关详细的知识, 可以自行搜索.


    推荐阅读