常用的Windows数据类型与C语言本质类型对比

  • Windows在windef.h中定义了若干实用的宏,例如:
#define TRUE 1
#define FALSE 0
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define APIENTRY WINAPI
#define LOWORD(x) ((WORD)(x))

其中__stdcall表示PASCAL调用约定,被调函数采用自右向左的顺序参数入栈,函数自己在退出时清空堆栈;__cdecl表示C调用约定,被调函数采用自右向左的顺序参数入栈,由调用者清空堆栈。CALLBACK表示回调函数,WINAPI表示Windows API函数;far表示32位远指针;LOWORD(x)取x的低16位值,HIWORD(x)取x的高16位值;
Windows程序经常需要使用多种类型的数据,为了提高程序的可读性和兼容性,Windows给许多基本数据类型重新定义了别名,一般形式为:

typedef C语言本质类型 Windows数据类型
例如:
typedef unsigned long DWORD
则 DWORD x;
等价于 unsigned long x;

常用的Windows数据类型如下,定义在windef.h中:

Windows 数据类型C语言本质类型含义
BOOLint逻辑类型(取值为TRUE/FALSE)
BYTEunsigned char字节型
CHARcharANSI字符
COLORREFunsigned long颜色值,分红、绿、蓝(RGB字节)
DWORDunsigned long无符号长整型
LPARAMlongLONG型消息参数
WPARAMunsigned intWORD型消息参数
LPSTRCHAR *8位ANSI字符串的指针
LPCSTRCONST CHAR *只读型8位ANSI字符串的指针
LPCWSTRCONST CHAR *只读型 16位Unicode字符串的指针
LPWSTRWCHAR *16位ANSI字符串的指针
LRESULTlong消息处理结果值

来源:《软件开发技术——Windows高级编程技术》

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值