为什么在32位编译器中没有任何近,远和巨大指针的概念?

ash*_*bal 1 c x86

为什么在32位编译器中没有near,far和huge指针的概念?据我所知,在16位8086架构编译器上创建的程序可以有1 MB的大小,其中有数据段,图形段等.要访问所有这些段并保持指针增量概念,我们需要这些各种指针,但为什么在32位中它没有必要?

Eri*_* J. 7

32位编译器可以通过一个32位指针寻址程序(或操作系统)可用的整个地址空间.不需要基础,因为指针足够大以解决可用地址空间中的任何字节.

理论上可以设想一个32位操作系统可以处理超过4GB的内存(因此需要一个与16位操作系统共用的段系统),但实际应用是64位系统在出现复杂性需求之前就已经可用了. .