#define MCGETCHAR(data)
(*((char *)(data)))
#define MCGETSHORT(data)
((unsigned short)(( ((unsigned short)(*((char *)(data))))<<8 )|( ((unsigned short)(*((char *)(data)+1)))&0x00ff )))
如果16位
高8位为(*((char *)(data)))
低8位为(*((char *)(data)+1))
#define MCGETLONG(data)
( ( ((unsigned long)MCGETSHORT((data)))<<16 )|( ((unsigned long)MCGETSHORT((char *)(data)+2))&0x0000ffff ) )
如果32位
高16位为MCGETSHORT(data)
低8位为*(char *)(data)+2) 貌似少了个*号
#define MCGET3BN(data)
( ( ((unsigned long)MCGETCHAR((data)))<<16 )|( ((unsigned long)MCGETSHORT((char *)(data)+1))&0x0000ffff ) )
32位
高16位中低8位为*((char *)(data))
低16中低8位为*(char *)(data)+1)
#define Length 655350
不知这样理解对否
[
本帖最后由 funyh250 于 2014-7-24 19:26 编辑 ]