C#代码是如何编译的?

时间:2018-01-25 13:22:36

标签: c# compilation command-line-interface cil

将C#编译成PE(.exe文件)的过程是什么? 如果我错了,请纠正我:

  1. C#编译成MSIL
  2. MSIL转换为字节码
  3. 当我们启动PE文件时,.net vm会将其转换回MSIL代码并执行它
  4. 如果这是正确的,那么这意味着当我在文本编辑器中打开PE文件时是那个字节码还是有任何其他步骤我会像加密字节码一样丢失?

1 个答案:

答案 0 :(得分:2)

C#compiler-> exe(PE文件) - >机器代码

此PE文件是Pe头,MSIL指令和元数据。

当编译器生成(MSIL)时,它还会生成元数据。 MSIL和元数据包含在可传输的PE文件中。这个PE文件托管是.NET Framework而不是OS。运行PE文件时,这将在.NET Framework上运行。

运行.Net PE文件 - > mscorlib.dll-> CLR-> JIT->机器代码