2,641
社区成员
发帖
与我相关
我的任务
分享
#define LOWORD(l) ((WORD)(((DWORD_PTR)(l)) & 0xffff))
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
*(long *)0x0A0000000=(((a[i]<<16)| (b[i]));
这一句编译没有问题,可是调试会有这个问题
[/quote]
直接操作内存啊? 0x0A0000000你直接操作了!? 你用VMMap看一下这个地址内存是不是可以操作. 没有分配就直接操作内存, Access Deny很正常啊. *(long *)0x0A0000000=(((a[i]<<16)| (b[i]));
int a;
short* b = (short*)&a;
b[0] = 0xab;
b[1] = 0xcd;
这样行不行.typedef unsigned long DWORD;
因为DWORD是无符号的, 你最好直接用long来接.
short a;
short b;
long c = a << 16 | b