首页
社区
课程
招聘
[旧帖] [求助]下面关于##define的用法 0.00雪花
发表于: 2015-12-17 14:14 1655

[旧帖] [求助]下面关于##define的用法 0.00雪花

2015-12-17 14:14
1655
#define LOWORD(l)           ((WORD)(((DWORD_PTR)(l)) & 0xffff))
#define HIWORD(l)           ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))

这个是define的用法表示什么意思,能这样用吗

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 76
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
参考下面的define理解下啊
#define BYTE0(x)    ((byte)(x&0X000000FF))           //取第1字节
#define BYTE1(x)    ((byte)(x>>8&0X000000FF))    //取第2字节      
#define BYTE2(x)    ((byte)(x>>16&0X000000FF))   //取第3字节        
#define BYTE3(x)    ((byte)((x>>24)&0X000000FF)) //取第4字节
你的用法是可以的
2015-12-18 15:10
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
LOWORD(l)是要取  l 的低16位的意思,,,将输入的  l  首先强制转换为DWORD_PTR指针类型:((DWORD_PTR)(l)),再与 0xffff 就是取   l  的低16位:(((DWORD_PTR)(l)) & 0xffff),再强制转换为WORD类型:(WORD)(((DWORD_PTR)(l)) & 0xffff)
这是Windows程序中设计中涉及的
希望对你有帮助
2015-12-18 19:09
0
游客
登录 | 注册 方可回帖
返回
//