当我将.NET源代码(c#或vb)编译为.exe文件时会发生什么?我希望了解制作exe文件期间发生的过程,并查看了几个关于反向工程和反编译的问题(例如,如何将.NET EXE反编译为可读的C#源代码?和用户单击.NET程序集(EXE)时会发生什么?)
提前感谢。
提前感谢。
选择编译器
为了获得公共语言运行时提供的优势,您必须使用一个或多个针对运行时的语言编译器。
将您的代码编译为 MSIL
编译将源代码转换为 Microsoft 中间语言(MSIL)并生成所需的元数据。
将 MSIL 编译为本机代码
在执行时,即时 (JIT) 编译器将 MSIL 转换为本机代码。编译过程中,代码必须通过验证过程,该过程检查 MSIL 和元数据,以确定代码是否可以被确定为类型安全。
运行代码
公共语言运行时提供基础设施,使执行得以进行,并提供可在执行期间使用的服务。