阅读219 返回首页    go 阿里云 go 技术社区[云栖]


[原创]琢磨一种察看/修改C#堆中东西的方法(随笔)

namespace cscon
...{
    
class root
    
...{
        
public int i;
        
public int j;

        
/**//*public virtual int nuller(int a,int b)
        {
            return a + b;
        }
*/

    }


    
class Program
    
...{
        
static void Main(string[] args)
        
...{
            
unsafe
            
...{
                root rt 
= new root();
                rt.i 
= 999;
                rt.j 
= 888;
                
fixed (int* i = &rt.i)
                
...{
                    
byte* b = (byte*)i;
                    b 
+= 4;
                    
int* j = (int*)b;
                    Console.WriteLine(
"rt.i:{0},rt.j:{1}", rt.i, rt.j);

                    Console.WriteLine(
"i:addr|{0:x}:{1}", (uint)i, *i);
                    Console.WriteLine(
"i:addr|{0:x}:{1}", (uint)j, *j);
                    (
*j) = 5555;
                    Console.WriteLine(
"i:addr|{0:x}:{1}", (uint)j, *j);
                    Console.WriteLine(
"rt.i:{0},rt.j:{1}", rt.i, rt.j);

                }

            }

            Console.Read();
        }

    }

}

 

最后更新:2017-04-02 00:06:27

  上一篇:go 单身MM创建的广州易唯翻译有限公司(www.gzjoyway.com),嘿嘿。。。
  下一篇:go 爆笑!正准备申请吉尼斯的BBS语录