2018-05-07 初学.NET框架和.NET执行过程
执行环境CLR(Common Language Runtime,公共语言运行库)。CLR在运行期管理程序的执行,包括以下内容。
★代码安全验证
★内存管理
★代码的执行
★垃圾收集
编程工具包含了编程和调试需要的一切,如:
★Visual Studio集成开发环境
BCL(Base Class Library,基类库)是.NET下的一个很强大的类库,你可以在开发的时候使用它。它是(FCL FrameWork Class Library-框架类库)的子集,不要蒙了。
♠当你写好一个C#程序时,通过编译器,也就是Visual Studio中的"生成",会产生一个.dll或者.exe的代码文件,他被称为程序集。
♠程序集中包含:1.CIL(Common Intermediate Language,公共中间语言)-还有两个版本名称(IL和MSIL)2.程序中使用的类型的元数据3.对其他程序集引用的元数据(就是你平常的添加引用)。
♠当你执行exe文件,调用dll程序集的时候(通常都是直接点的"启动",或者找到bin目录下的exe文件),这是JIT(just-in-time即时编译器)就将部分CIL代码转换为本机代码,(被缓存起来,方便后来的程序执行),供操作系统执行。期间,CLR管理JIT编译的本机代码。
♠这时出现了托管与非托管的概念,由一张图表示。
♠每一种编程语言都会有自己内置的类型,像什么浮点型啊,整型啊,字符串等一系列的类型。历史上,这些都是每个开发语言不通的,我们需要一致性,让各个语言有很好的协作性,就诞生了一组标准。
♠CLI(Common Language Infrastructure,公共语言基础结构)。CLI和C#都已经被Ecma批准为开放的国际标准规范。Ecma成员--微软、IBM、Adobe、惠普......
我们初学只需了解CLI中的两点:
1.CTS(Common Type System,公共类型系统)定义了那些在托管代码中一定会使用的类型的特征。
CTS最重要的特征之一就是所有的类型都必须直接或间接的继承自公共基类----Object。
2.CLS(Common Language Specification,公共语言规范)详细说明了一个.NET兼容编程语言的规则、属性和行为。