C# 托管代码与CLR的理解

前言

项目编译和运行过程分析
托管代码与CLR的理解

项目编译和运行过程分析

在这里插入图片描述
exe文件和dll文件都是用中间语言IL组成的
如果反汇编的话就可以看到中间语言IL写成的文件。
从C#到IL工作是VS完成的。

操作系统里面装了一个公共语言运行时(CLR),它会把exe或dll编译成操作系统对应的机器码。CLR里面包含了JIT,这玩意可以编译IL。
从IL到机器码是操作系统完成的。

托管代码与CLR的理解

托管代码:没有CLR就不能运行的代码。
非托管代码:比如C++之类的。
有了CLR给你做垃圾处理,你就不用像C++那样考虑销毁对象。

CLR里面的CLS和CTS可以保证C#、VB .net、F#这些东西的规范。它们之间就可以彼此调用。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42914662/article/details/125498283