.NET缩写

C#学习笔记【1】

.NET框架的组成

C#学习笔记【1】
CLR:公共语言运行库

  • 内存管理
  • 代码安全验证
  • 代码执行、线程管理及异常处理
  • 垃圾收集

BCL:基类库是.NET框架使用的一个大的类库

编译成CIL

.NET语言 的编译器接受源代码文件,并生成名为程序集的输出文件。
C#学习笔记【1】

  1. 程序集要么是可执行的,要么是DLL
  2. 程序集里的代码并不是本机代码,而是一种名称为CIL(Common Intermediate Language)的中间语言。
  3. 程序集包含的信息中,包括下列项目:
    • 程序的CIL
    • 程序中使用的类型的元数据
    • 对其他程序集引用的元数据

编译成本机代码并执行

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

  1. 检查程序集的安全特性
  2. 在内存中分配空间
  3. 把程序集中的可执行代码发送给定时(JIT)编译器,把其中的一部分编译成本机代码.

程序集中的可执行代码只在需要的时候由JIT编译器编译,然后它就被缓存以备在后来的程序中执行。使用这个方法意味着不被调用的代码不会被编译成本机代码,而且被调用的代码只被编译一次。一旦CIL被编译成本机代码,CLR就在它运行时管理它,执行像释放无主内存、检查数组边界、检查参数类型和管理异常之类的任务。有两个重要的术语。
托管代码:为.NET框架编写的代码称为托管代码,需要CLR
非托管代码:不在CLR控制之下运行的代码,比如Win32 C/C++ DLL,称为非托管代码。

CLR

.NET框架的核心组件是CLR,它在操作系统的顶层,负责管理程序的执行。提供:自动垃圾收集,安全和认证,通过访问BCL得到广泛的编程功能,包括如Web服务和数据服务之类的功能。
C#学习笔记【1】

相关文章: