far即为远地址,16位模式下(如80x86系列)内存是分段寻址的; (一个段就是 2^16,即64k) 指定void far fun1();的话,是说函数fun1的入口点在其它段中,调用时将用到段地址; 如果指定为near的话,入口点将在本段之内,调用时值使用段内的偏移地址。 32位中采用线性的平坦寻址方式,这一概念已被抛弃了,内存中地址统一为32位宽,大体 说来就是这样,细节参见相关资料