• 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下载,不要搞野生,版本可能低一些。

  • 相关阅读:
    ZOJ 3327 Friend Number
    ZOJ 3324 Machine
    2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest C Explode 'Em All
    UVA 12594 Naming Babies
    POJ 3709 K-Anonymous Sequence
    POJ 1180 Batch Scheduling
    POJ 1160 Post Office
    HDU 3516 Tree Construction
    HDU 3045 Picnic Cows
    UVALive 5097 Cross the Wall
  • 原文地址:https://www.cnblogs.com/aoximin/p/12728570.html
Copyright © 2020-2023  润新知