您的位置:首页 > 其它

VC数据类型定义中far

2015-07-23 18:09 561 查看
那是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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: