.NET框架

.NET 框架

4933701-a7bdb607bb795478.png
.NET

.NET框架由3部分组成,严格来说.NET框架由CLR(Common Language Runtime,公共语言运行库)和FCL(Framework Class Library,框架类库)两部分组成,不包括工具。FCL是BCL(Base Class Library,基类库)的超集,包括Windows Forms、ASP.NET、LINQ以及更多的命名空间。

4933701-9a0b7bd9073f0b6f.png
.NET框架

执行环境CLR

.NET框架的核心组件是CLR,它在操作系统的顶层,负责管理程序的执行。执行环境CLR在运行时管理程序的执行,包括:

  • 内存管理和垃圾收集
  • 代码安全验证
  • 代码执行、线程管理、异常处理
4933701-b10d136aa0a2061b.png
执行环境CLR

编译成CIL

.NET语言的编辑器接受源代码文件,并生成名为程序集的输出文件。

  • 程序集要么是可执行的,要么是DLL。
  • 程序集里的代码并不是本机代码,而是一种名为CIL(Common Intermediate Language,公共中间语言)的中间语言。
4933701-703d416809e89d6c.png
编译过程

编译时和运行时

4933701-71ce59a127329ca5.png
编译时和运行时过程

编译成本机代码并执行

程序的CIL直到它被调用运行时才会被编译成本机代码。在运行时,CLR执行的步骤:

  • 检查程序集的安全特性
  • 在内存中分配空间
  • 把程序集中的可执行代码发送给实时编译器(JIT,Just-in-Time),将其中一部分编译成本机代码。
4933701-6ebd06ce898afb27.png
运行时被编译成本机代码

公共语言基础结构CLI

CLI(Common Language Infrastructure,公共语言基础结构)是一组标准,每种编程语言都有一组内置的类型,用来表示如整数、浮点数、字符等之类的对象。这些类型的特性因编程语言和平台的不同而不同。然后,这种统一性的缺乏使得难以让不同语言编写的程序及库一起良好写作。

4933701-8fca11099ab7bde5.png
CLI
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值