在Turbo C编译器中选择“大内存模型”而不是“小内存模型”会有什么不同?
这会如何改变我的程序的行为?
你好,埃斯贝夫。
发布于 2010-02-01 18:06:12
它指的是16位内存模型中非常古老的概念。32位和64位计算机对这些内存模型一无所知。
所以回到你的问题:小-声明指针只允许你寻址64k的数据或代码。指针长度为16位。整个程序都驻留在单个64k段中。要显式地寻址内存的另一部分,您需要显式地声明指针。large -声明指向代码或数据的指针为32位,因此它在默认情况下是远的。
希望你不要在这些问题上停留太久,因为它是过时的概念。
发布于 2010-02-01 18:42:07
8086处理器具有结合使用16位段寄存器和16位偏移量的20位物理寻址。您可以将这两个寄存器打包到一个32位FAR指针中,也可以评估一个默认段寄存器,并在NEAR指针中只存储低16位。
small和large模型之间的区别只是在未显式指定时,指针在缺省情况下是NEAR还是FAR。
https://stackoverflow.com/questions/2175812
复制相似问题