C#基础の.Net

.Net 平台组成

  1. 编程语言(如C#,VB…)
  2. CLS(Common Language Specification )公共语言规范
  3. FCL (Framework Class Library) 各种类库
  4. CLR (Common Language Runtime) 公共语言运行时
  5. 操作系统 (Windows + Com + Service)

可以这样简单的去理解:

用户用不同的编程语言在windows操作系统上按照规范进行编程,使用框架类库进行开发,编译,最终运行OS上。

.Net Framework 组成

FCL

微软提供给开发者们的各种类库。

  1. BCL (Basic Class Library ) 基础类库
  2. Ado.Net,IO,XML…
  3. Winforms
  4. WPF
  5. Web (WebForm,MVC…)

CLR

主要由CTS(Common Type System 通用类型系统)和CLS(Common Language Specification 公共语言规范)构成。

  1. CTS: .Net 平台支持的不同编程语言,内置的数据类型的表现形式都是不一样的,但是没有关系,它们最终都会转换成通用类型,比如C#的int,实际对应通用类型的Int32。
  2. CLR:多种语言在同一个平台上需要遵守的规范,求同存异

这边简单说下C#变成机器码(电脑能直接识别的,0101这种)的过程

C#语言编译后生成dll(存储着metadata,il),用户运行程序时CLR中的JIT(Just In Time)即时编译器,将编译生成的IL(Inner Language)变成机器码。这样就可以做到不会编译一下,就全部转换为机器码,程序运行到某一块,才会转换,已经转换成机器码的,JIT就不会再进行转换,这样效率就比较高。

从而做到一次编译,多次运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值