VC数据类型定义中far

那是16位时代的产物,表示远指针,现在的32位时代已经不用那么用了。

Win32 不区分 near 和 far 地址。因为 NEAR 和 FAR 类型在 WINDEF.H 中定义,所以它们由包含文件自动处理,被包含文件重新定义为空的 Win32 字符串。因此,忽略 NEAR 和 FAR。如果没有包含 WINDEF.H,方便的解决方案是使用 /D 命令行选项将关键字替换为空字符串。例如:
/D_near=  /D_far= /D__near=  /D__far=


32 位 Windows 中增加的地址空间在几个方面影响 16 位代码: 

指针全都是 32 位宽,不再用 near 或 far,并且代码无法根据分段内存进行假定。 
窗口句柄、其他对象(如钢笔、画笔和菜单)句柄和图形坐标已增加到 32 位。因此,不能像在 16 位 Windows 中那样使用可与 HWND 交换的 WORD 这样的类型。 
因为不同的大小可以改变某些消息参数中的信息封装方式,所以必须重写消息处理程序。 
图形坐标大小的增加影响了若干函数调用。 
这些变化影响的主要 16 位代码区域是: 

窗口过程声明 
Near 和 Far 类型声明 
数据类型 
消息 
API 函数调用 
WinMain 函数


(摘自MSDN)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值