如题所示,编译通过了,但是运行的时候,程序提示:DD。EXE遇到问题需要关闭,下面是代码:
DWORD hp;
_asm{
mov eax,0x0102e370 //内存基址
mov eax,[eax]
add eax,0x40
mov ecx,[eax]
mov hp,ecx
}
m_q1=hp;
坐等高人指点啊,不胜感激
0102e370这个内存基址是用CE找出来的,在CE里可以看到这个地址偏移40后的数值变化,编译可以过,但是程序运行的时候就出错,不知道怎么回事
追答那啥,每个进程都拥有自己独立的内存地址空间,一个虚拟内存地址(你在程序中用的都是虚拟内存地址),在不同的进程中,可以表示不同的物理内存地址。
如果你要访问的不是“当前进程”的内存,这样写是没有用的。