加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:52:59 所属栏目:百科 来源:网络整理
导读:我与MSIL和管理代码混淆是相同还是不同? 我的意思是说,当我们构建C#代码时会发生什么? 哪一个是对的 C# Code → C# compiler → Managed Code → MSIL 要么 C# Code → C# compiler → MSIL 请提供正确的参考或链接,以支持您的答案. 解决方法 你混淆不同的
我与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或类似的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读