找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7879|回复: 6

[分享] 第一期活动:类型马甲知多少【参与送分】

 火..   [复制链接]

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
发表于 2011-1-17 22:33:58 | 显示全部楼层 |阅读模式
NTSTATUS
HANDLE
DWORD
BYTE

太多了。。。简直无法枚举。。。
比如NTSTATUS就是long,BYTE就是unsigned char。
每爆一个马甲加10水晶币,多劳多得。。。
举例:
NTSTATUS <--> long

2011-1-19补充:
必须剥去类型所有的马甲!!!
比如DWORD是ULONG的马甲,但是ULONG本身也是马甲,而DWORD剥去所有的马甲是unsigned long!!!

40

主题

324

回帖

0

精华

铂金会员

Eax=0

积分
1575
发表于 2011-1-18 21:26:17 | 显示全部楼层
本帖最后由 Xor 于 2011-1-18 21:28 编辑

这个主意不错,支持一下。
我应该把windef的内容都复制下来,不过太多了,所以挑了一些。
typedef WORD                ATOM;

typedef HANDLE NEAR         *SPHANDLE;
typedef HANDLE FAR          *LPHANDLE;
typedef HANDLE              HGLOBAL;
typedef HANDLE              HLOCAL;
typedef HANDLE              GLOBALHANDLE;
typedef HANDLE              LOCALHANDLE;
以上都是马甲
还有
typedef struct tagRECT
{
    LONG    left;
    LONG    top;
    LONG    right;
    LONG    bottom;
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;

typedef const RECT FAR* LPCRECT;

typedef struct _RECTL       /* rcl */
{
    LONG    left;
    LONG    top;
    LONG    right;
    LONG    bottom;
} RECTL, *PRECTL, *LPRECTL;

typedef const RECTL FAR* LPCRECTL;

typedef struct tagPOINT
{
    LONG  x;
    LONG  y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;

typedef struct _POINTL      /* ptl  */
{
    LONG  x;
    LONG  y;
} POINTL, *PPOINTL;

typedef struct tagSIZE
{
    LONG        cx;
    LONG        cy;
} SIZE, *PSIZE, *LPSIZE;

typedef SIZE               SIZEL;
typedef SIZE               *PSIZEL, *LPSIZEL;

typedef struct tagPOINTS
{
#ifndef _MAC
    SHORT   x;
    SHORT   y;
#else
    SHORT   y;
    SHORT   x;
#endif
} POINTS, *PPOINTS, *LPPOINTS;


typedef struct _FILETIME {
    DWORD dwLowDateTime;
    DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
数数多少个,我发财了!

评分

参与人数 1水晶币 +80 收起 理由
Tesla.Angela + 80 规则没有说清楚,不过分还是照样给。

查看全部评分

Do my best.

40

主题

324

回帖

0

精华

铂金会员

Eax=0

积分
1575
发表于 2011-1-18 21:39:57 | 显示全部楼层
整理一下:
WORD<-->ATOM;
HANDLE<-->*SPHANDLE;
HANDLE<--> *LPHANDLE;
HANDLE<-->HGLOBAL;
HANDLE<-->HLOCAL;
HANDLE<-->GLOBALHANDLE;
HANDLE<-->LOCALHANDLE;
tag<-->RECTRECT<-->*PRECT<--> *NPRECT<--> *LPRECT;
const<-->RECT<-->FAR* LPCRECT;
_RECTL<-->RECTL<--> *PRECTL<--> *LPRECTL;
const<-->RECTL<-->FAR* LPCRECTL;
tagPOINT<-->POINT<--> *PPOINT<-->  *NPPOINT<-->  *LPPOINT;
_POINTL <-->POINTL<--> *PPOINTL;
tagSIZE<-->SIZE<--> *PSIZE<--> *LPSIZE;
SIZE<-->SIZEL;
SIZE<-->*PSIZEL<--> *LPSIZEL;
tagPOINTS<-->POINTS<--> *PPOINTS<--> *LPPOINTS;
_FILETIME<-->FILETIME<--> *PFILETIME<--> *LPFILETIME;
我是用的“查找替换”功能,难免有误,请见上文

评分

参与人数 1水晶币 +100 收起 理由
Tesla.Angela + 100 评分上限是100

查看全部评分

Do my best.

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2011-1-22 15:45:50 | 显示全部楼层
NTSTATUS <--> long

?????

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-1-25 13:16:37 | 显示全部楼层
......所以这就是我讨厌C的地方.....

因此之前要写DLL和驱动,我宁愿用MASM......直接就是相应的BYTE啊DWORD多方便!
我就是嗷嗷叫的老马了......

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2011-1-29 01:07:07 | 显示全部楼层
回复 马大哈 的帖子

你可以不理会马甲啊!!!
比如我基本都把NTSTATUS写成long。

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-1-31 00:06:25 | 显示全部楼层
还好我现在只偶尔写写C51的程序,基本上与汇编的类型一致,就没那么头大了.
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表