将.NET源代码(c#或vb)编译为.exe文件时会发生什么?我希望了解在制作exe文件时发生的过程,并查看了有关逆向工程和反编译的几个问题(例如,How do I decompile a .NET EXE into readable C# source code?和What happens when user click .NET assembly (EXE)?)
提前致谢
答案 0 :(得分:6)
托管执行流程包括以下步骤
选择编译器
要获得公共语言运行库提供的好处,您必须使用一个或多个语言编译器 瞄准运行时。
将代码编译为MSIL
编译翻译 您的源代码转换为Microsoft中间语言(MSIL)和 生成所需的元数据。
将MSIL编译为本机代码
在执行时,即时(JIT)编译器将MSIL转换为 本机代码。在编译期间,代码必须通过验证 检查MSIL和元数据的过程,以确定是否 代码可以确定为类型安全。
运行代码
公共语言运行库提供了支持执行的基础结构 发生在执行期间可以使用的服务。
查看详细信息:http://msdn.microsoft.com/en-us/library/k5532s8a.aspx
答案 1 :(得分:1)
您可以查看我认为有用的以下链接,
1- Image Describing CLR.
2- Wikipedia Description of .NET Framework
3- .Net Framework Architecture