都什么年代了,CPU都双核了,OS都64位了,还有人用TC
如果你用的是80386之前的CPU和Windows3.x或更早的操作系统,指针是16位的,地址总线是20位的,使用指针直接访问的内存是2的16次方就是64K,要越段访问就要修改段寄存器,段寄存器加指针也只能访问2的20次方就是1M,这也是处理器可以使用内存的上限。这种系统下的C程序指针如果要越段访问就要加far修饰符提示要修改段寄存器。
不过处理器早已从386,486,奔腾I,....P4到现在的眩龙64位了,PC机的操作系统最差也是32位的,WIN32给每个程序4GB的空间,只有一种内存模式,即 FLAT 模式,意思是"平坦"的内存模式,再没有 64K 的段大小限制,所有的 WIN32 的应用程序运行在一个连续、平坦、巨大的 4GB
的空间中。
如果有人还在用8086跑DOS或Windows3.x,使用TC编程,你应该是世界上最可怜的人了,因为你过着上世纪90年代中期以前的生活。我现在用来做玩具的凌阳的单片机都是16位的,明年就玩32位的ARM单片机了,现在的PC是AMD3200+跑WINXP SP2和Ubuntu6.06LTS,编译器是VS2003.NET和GCC4.0,和用TC的有10年以上差距了(从WIN95以前到07年)。