C#图解教程学习笔记_第一章C#和.NET架构

1. C#和.NET架构

1.1 在.NET之前

1.1.1 20年代90年代末的Windows编程

1.1.2 下一代平台服务的目标

1. 执行环境的目标:安全,多平台,性能。

2. 开发环境的目标:

1)面向对象的开发环境。

2)一致的编程体验。

3)...

1.2 .NET时代

1.2.1 .NET框架的组成

1. CLR(Common Language Runtime,公共语言运行库),包括一下内容:

1) 内存管理和垃圾收集(GC Garbage Collector 垃圾回收器)。

2) 代码安全性验证。

3) 代码执行、线程管理及异常处理。

2. 编程工具

1) VS集成开发环境。

2) .NET兼容的编译器。

3) 调试器。

3. BCL(Base Class Library,基础类库)

1.2.2 大大改进的编程环境

1. 面向对象的编程环境。

2. 自动垃圾收集。

3. 互操作性。

4. 不需要COM。

5. 简化的部署,不需要使用注册表注册。

6. 类型安全性检查。

7. 基类库。

1.3 编译成CIL

1. NET语言的编译器编译源代码文件后,生成名为程序集的文件,程序集为可执行文件或DLL文件,包含CIL(Common Intermediate Language,公共中间语言)和类型及安全信息。

1.4 编译成本机代码并执行

1. 在程序执行时,CLR利用JIT(Just-In-Time)编译器把CIL中需要的可执行编译成本机代码,确保不被调用的代码不会背编译成本机代码,而且背调用的代码只编译一次,具体过程如下:

1)检查程序集的安全特性。

2)在内存中分配空间。

3)CIL中需要的可执行编译成本机代码。

2. 托管代码与非托管代码。

1)托管代码:为.NET框架编写的代码称为托管代码(Managed Code), 需要CLR。

2)非托管代码:不在CLR控制之下的代码,比如Win32 C/C++ DLL,可以利用Ngen工具直接江程序集转换为本机代码,免除JIT的编译过程。

1.5 CLR

1.6 CLI

1. CLI(Common Language Infrastructure, 公共语言基础结构),是指.NET这种框架的一个标准,就.NET而言,包括CLR、BCL、CIL、CTS、CLS、元数据定义及语义。

1)CTS(Common Type System,公共类型系统),如规定所以类型基础0bject基类。

2)CLS(Common Language Specification,公共语言规范)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值