zoukankan      html  css  js  c++  java
  • c# 反编译对比(旧)

    前言

    旧的都是我以前博客的迁移。

    我们写代码有时候遇到一些问题,或者我们想优化我们的代码,我们想要看编译后的运行情况,那么反编译是必须要做的一件事。

    正文

    在此我自己使用的是reflector和ILSpy,为什么使用这两种呢?

    我们知道第一种reflector是收费的,但是我们有时候在不得已的情况下还是要用的。

    为什么我说不得已的情况下用呢?因为有时候ILspy 反编译不出来。

    对比

    因为反编译工具的不同,那么编译出来的东西差别还是有的。

    下面是相同代码反编译下的情况。

    reflector

    private static void Main(string[] args)
    {
        CacheItemPolicy policy = new CacheItemPolicy {
            RemovedCallback = arguments => Console.WriteLine($"缓存被移除的原因:{arguments.RemovedReason}"),
            SlidingExpiration = TimeSpan.FromSeconds(5.0),
            Priority = CacheItemPriority.NotRemovable
        };
        MemoryCache.Default.Add("mykey", "myvalue", policy, null);
        Console.WriteLine(MemoryCache.Default.Get("mykey", null));
        Thread.Sleep(0x1770);
        Console.WriteLine(MemoryCache.Default.Get("mykey", null));
        Console.ReadKey();
    }
    

    ILSpy

    private static void Main(string[] args)
    {
        CacheItemPolicy policy = new CacheItemPolicy {
            RemovedCallback = arguments => Console.WriteLine($"缓存被移除的原因:{arguments.RemovedReason}"),
            SlidingExpiration = TimeSpan.FromSeconds(5.0),
            Priority = CacheItemPriority.NotRemovable
        };
        MemoryCache.Default.Add("mykey", "myvalue", policy, null);
        Console.WriteLine(MemoryCache.Default.Get("mykey", null));
        Thread.Sleep(0x1770);
        Console.WriteLine(MemoryCache.Default.Get("mykey", null));
        Console.ReadKey();
    }
    

    虽然细微的差别,但是我们用人脑去看多种反编译还是痛苦的,所以选择一两种反编译工具即可,不要经常换。最好熟悉relector,收费总是有收费的理由的,有钱的话可以买一份支持下。
    对了,在此提醒一下ILSpy 免费的,直接去github下载,不要搞野生,版本可能低一些。

  • 相关阅读:
    在devc++中使用to_string
    死磕Spring之AOP篇
    死磕Spring之AOP篇
    service to hadoop01/hadoop01:8020 Datanode denied communication with namenode because the host is not in the include-list
    Hadoop和HBASE对应兼容版本
    Flink SQL CDC中如何定义watermark和计算列
    Scala函数详解
    HBase 底层原理详解
    流计算 Oceanus SQL 开发指南
    NLP(二十二):基于依存句法的关键词抽取算法
  • 原文地址:https://www.cnblogs.com/aoximin/p/12728570.html
Copyright © 2011-2022 走看看