在ELF-header中,e_ident[EI_CLASS]
的值可以是1或2,表示32位操作系统或64位操作系统。但是从历史上我们知道,ELF最早出现在1993年发布的Solaris 2.0中。然而,广泛使用的32位处理器Pentium Pro直到1995年才出现。
那么ELF头为什么没有16位甚至8位的信息呢?
最佳答案
第一个“广泛使用”的 32 位 CPU 是 Intel 80386这是更老的。
然后我们有关于 SUN 和他们的故事 SPARC与 386 的时间框架大致相同的体系结构。
Solaris 是 SUN 在 1990 年代早期为其机器开发的,接近第一个 64 位系统实际开始出现的时间。
ELF(Executable and Linkable Format 的首字母缩写)是在 1980 年代后期开发的,当时所有主要的 Unix 变体都在纯或混合(想想 Motorola 68000)32 位系统上运行。
关于linux - 为什么ELF magic number中没有16位信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974754/