利用 ILSpy 查看 C# 代码编译及运行真相

一、ILSpy 介绍

ILSpy是一个开源的 .NET 反编译软件。

开源地址      下载地址

利用它,可以看到 C# 代码编译及运行真相,对代码优化非常重要!

通常可以采用这两种方式:

    1、写好 C# 源代码,生成 .dll文件,然后将 “.dll文件” 反编译为 “IL代码”。可以查看 IL 代码运行过程。

    2、写好 C# 源代码,生成 .dll文件,然后将 “.dll文件” 反编译为 “C#代码”。对比两份C#代码,可以看出 “一些C#语法糖的原理” 、“编译器自动帮我们做了什么代码调整或优化” 等。

 

二、在 Unity 中的使用

Unity 中,每次修改C#代码并编译后,Assembly-CSharp.dll 文件 将会被放入 \Library\ScriptAssemblies 下。

这个文件夹下也放着Unity依赖的一些 .dll文件,如:UnityEngine.UI.dll、Unity.Timeline.dll 等。

将这些文件拖入 ILSpy中,即可查看。

如下一段C# 代码:

using UnityEngine;

public class Test : MonoBehaviour
{
    void Start()
    {
        int a = 1;
        int b = 2;
        string c = "abc" + "efg";

        Debug.Log("Hello NRatel");
        Debug.Log("Hello ILSpy");
        Debug.Log("Hello C# and IL");

        Debug.Log(a + b);
        Debug.Log(c);
    }
}

查看反编译后的 IL 代码: 

利用 ILSpy 查看 C# 代码编译及运行真相_第1张图片

查看反编译后的 C# 代码:

利用 ILSpy 查看 C# 代码编译及运行真相_第2张图片

 

三、IL 语言

IL 是.NET框架中中间语言(Intermediate Language)的缩写。

OpCodes

 

你可能感兴趣的:(Unity游戏开发)