c# – MSIL是否与.NET中的托管代码相同?

前端之家收集整理的这篇文章主要介绍了c# – MSIL是否与.NET中的托管代码相同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我与MSIL和管理代码混淆是相同还是不同?
我的意思是说,当我们构建C#代码时会发生什么?

哪一个是对的

C# Code → C# compiler → Managed Code → MSIL

要么

C# Code → C# compiler → MSIL

请提供正确的参考或链接,以支持您的答案.

解决方法

你混淆不同的东西 Managed code是用CIL(通用中间语言,以前称为Microsoft中间语言或MSIL)编译并以CLR的受管环境运行的托管语言(C#,VB.NET,F#和许多其他语言)编写的代码.

另一方面,非托管代码直接编译成本机代码(也称为汇编),它不会在CLR上运行.

当你建立你的C#代码,它被编译成CIL.这就是为什么可以使用像ildasm或Reflector这样的工具检查编译的代码.当您执行CIL代码时,会发生什么情况取决于具体情况.它可能是

>使用JIT编译器(最常见的选项)编译成本地代码“及时”.>使用预编译的本地代码执行(您可以使用NGEN来获取​​).>直接解释;我认为Windows的某些版本的.Net或类似的.

原文链接:https://www.f2er.com/csharp/93524.html

猜你在找的C#相关文章