我遇到了问题。所以我正在开发一个能够在内存中更改浮点数的应用程序,但我所拥有的地址对于IntPtr来说太长了。
这是我的代码:
VAMemory vam = new VAMemory("APP NAME");
IntPtr ad = 0x264A373E7C0;
vam.WriteByte(ad, (Byte)100);
所以在这个^ WriteByte中它说IntPtr地址太长了。 我以前使用过这段代码并且它已经工作但不知何故它不能使用这个地址。
答案 0 :(得分:0)
如果IntPtr.Size == 4
,则您的计划定位 32位。
即使您选择了AnyCPU
架构,自VS2013起,还有一个名为Prefer 32-bit
的项目构建属性,必须在 64位机器上关闭它才能获得IntPtr.Size == 8
1}}。
使用Perfer 32-Bit
的{{1}}风格时,语义如下: