Learning hard C#学习笔记——读书笔记 05

发布时间 2023-07-18 20:07:03作者: treasureYuki

1.什么是IL语言

我们开篇介绍 C# 的时候,就介绍了 C# 的编译过程,C# 会通过编译器先编译成IL语言(Intermediate Language),IL代码会存放在一个程序集中



IL(Intermediate Language),它称为CIL或者MSIL,IL是由ECMA组织(也就是定义JS标准的那个组织),提供完整的定义和规范。使用Visual Studio中的 C# 编译器,我们可以直接将 C# 编译成 .exe 或 dll 文件,但是编译出来的程序代码并不是CPU直接可以使用的二进制代码,而是 IL 代码



2.从Hello World看IL


2.1 工具介绍

我们可以在自己的电脑找到以下目录,之后找到相关的内容



我们编写一个简单的程序

class Program {
    static void Main(string[] args) {
        string helloString = "Hello";
        Console.WriteLine(helloString);
    }
}

编译完毕之后,我们会发现,在项目的bin/Debug目录下,会生成一个 exe(可执行)文件


我们打开ILDasm.exe ,就可以看到一个UI界面





我们用这个工具打开,我们之前在项目目录下找到的 exe 文件,如果显示文件没有CLR标头,就打开 dll 文件



2.2 MANIFEST 清单介绍


我们双击 MANIFEST 图标,打开 MANIFEST 清单,看到如下输出




以上的这些内容,我们可以查看IL代码,不过对于新手,这些不必要了解太多,这里就当作介绍,我就不再记录下去