4

当我将 .NET 源代码(c# 或 vb)编译为 .exe 文件时会发生什么?我希望了解在制作 exe 文件期间发生的过程,并查看了有关逆向工程和反编译的几个问题(例如,如何将 .NET EXE 反编译为可读的 C# 源代码?以及当用户单击 .NET 程序集时会发生什么(EXE)?

提前致谢

4

2 回答 2

6

托管执行过程包括以下步骤

  1. 选择编译器

    要获得公共语言运行时提供的好处,您必须使用一种或多种以运行时为目标的语言编译器。

  2. 将代码编译为 MSIL

    编译会将您的源代码翻译成 Microsoft 中间语言 (MSIL) 并生成所需的元数据。

  3. 将 MSIL 编译为本机代码

    在执行时,即时 (JIT) 编译器将 MSIL 转换为本机代码。在此编译期间,代码必须通过检查 MSIL 和元数据的验证过程,以确定代码是否可以确定为类型安全的。

  4. 运行代码

    公共语言运行时提供使执行能够发生的基础结构和可以在执行期间使用的服务。

在这里查看详细信息:http: //msdn.microsoft.com/en-us/library/k5532s8a.aspx

于 2012-12-21T06:56:56.160 回答
1

您可以查看以下我认为它们很有用的链接,
1-描述 CLR 的图像。
2- .NET Framework 3- .Net Framework 架构的维基百科描述

于 2012-12-21T08:31:59.960 回答