程序集、GC、访问修饰符
程序集的数据可以分为:
类型元数据,程序元数据,IL代码,资源。一个项目就是一个程序集。
1. 类型元数据:
记录了程序集引用了哪些类,用户自定义了哪些类,字段,属性,数据类型等一系列信息
2. 程序元数据:
包含了程序集的版本信息,安全信息,签名等
3. IL代码:
MSIL,C#->IL代码-》保存到程序集中,在被CLR加载-》由JIT编译器-》调用BCL->转换成机器代码运行在CPU上
[CLR公共语言运行库](https://learn.microsoft.com/zh-cn/dotnet/standard/clr)
CLR的最重要的特性是:跨语言,也就是说用VB.NET写的类,可以被C#类继承。
CLR主要负责资源管理,例如内存分配,垃圾收集处理,以及保证应用和底层操作系统之间必要的分离。
CLR资源管理过程
(1)选择编译器
(2)将托管代码(在CLR监视下运行程序的代码)编译为MSIL(Microsoft Intermediate Language 微软中间语言)。在产生MSIL的同时产生元数据(Metadata,描述数据的数据,主要描述数据类型定义,代码引用等)共同包含在一个可移植可执行PE(Portable Executable)文件中。