首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

假设已知一个内存地址:48j7fu3,请教在C#里面如何用读内存的方法取出它的值

2011-12-25 
假设已知一个内存地址:48j7fu3,请问在C#里面怎么用读内存的方法取出它的值?如题,谢谢![解决办法]在32位win

假设已知一个内存地址:48j7fu3,请问在C#里面怎么用读内存的方法取出它的值?
如题,谢谢!

[解决办法]
在32位windows下,访问4G的逻辑内存(理论上)可用如下:
char *p=address(0 <=address <=4G),但有些内存是不能访问的。具体可见《windows核心编程》。访问0x0400000(48j7fu3?有这样的地址?)处的内存可用如下代码:
int * ptr;
ptr = (int *)0x0400000;
printf( "0x0400000 : %04x\n ",*ptr);

不过这是C里的代码,在VC中可以嵌入汇编,但C#...

[解决办法]
IntPtr ptr = (IntPtr)0x0400000;
int memory = Marshal.ReadInt32(ptr);
Console.WriteLine( "{0} ", memory);

你最好确定你的那个绝对地址是有效的...

热点排行