#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 编辑 ]