.Net Framework简介

1  平台简介

  .Net Framework采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多语言的开发。.Net 也为应用程序接口提供了新功能和开发工具,这个革新是的程序员可以同时进行windows应用软件和网络应用软件以及组件和服务(web 服务)的开发。

2  .Net Framework的内容

  .Net Framework一般而言可以将其技术分为规范和实现两部分;其中实现部分包括被人所熟知的CLR(公共语言运行库)FCL(.Net 框架类库);而规范即CLI(公共语言架构)包括CTS(Common Type System--通用类型系统)CLS(Common Language Specification--公共语言规范)CIL(Common Intermediate Language--通用中间语言以前也称为的MSIL)。两者之间的关系如图2-1:

                                                                  图2-1                                                                                图2-2

  • CLR(公共语言运行库):和java虚拟机一样也是也是一个运行时环境,它负责资源管理(内存分配[类型的内存分配]和垃圾回收[GC],并保证应用和底层操作系统之间的必要分离。其核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步。
  • FCL(.Net类库):为.Net Framework两个核心组件之一。FCL集合了上千组可再利用的类、接口和值类型。BCL(Base Class Libraries)是FCL的一部分,提供了多数的基础功能,其中包括namespaces System,System.CodeDom,System.Collections,System.Diagnostics,System.Globalization,System IO,System.Resources,System.Text,和System.Text.RegularExpressions的类
  • CTS(通用类型系统):定义了如何在运行库中声明、使用和管理类型,同时也是在运行库下支持各语言之间进行交互操作。(PS:CTS定义了在MSIL中使用的预定义类型,.Net 语言将代码解释成中间语言,其原因.Net 编译器是遵循CLS[公共语言规范]实现的)。
  • CLS(公共语言规范):和通用类型系统一起确保语言的互操作型。
  • CIL(通用中间语言):是一种属于通用语言框架和.Net框架的低阶的人类可读的编程语言。

  CTS(通用类型系统)建立一个支持跨语言的集成,是不通语言编写的代码直接能够交互使用。CTS可以分为两大类:值类型和引用类型,同事两种类型之间可以进行强制转换,这种转换成为Boxing(装箱)和UnBoxing(拆箱)。从图2-2可以看出通用类型系统的基本结构,CTS的每一种类型都是对象,并继承一个基类System.Object。对于值类型和引用类型的内容将会在下篇进行解释。

3  .Net Framework 编写应用程序的些许概念

3.1  概念

  • JIT(Just-In-Time):将CIL编译为专用于操作系统和目标机器结构的本机代码,在需要时才会进行编译
  • 程序集:在编译期间,将CIL代码、元信息(即程序集中包含的数据的信息)、可选资源(CIL使用的其他数据,eg:图片)存储在程序集中,程序集包括可执行的应用程序(.exe)和其他应用程序的库(.dll)

3.2 编译和运行处理

  利用.Net Framework编写的代码时,不是将代码直接创建为OS的本机代码,而是将源码编译成CIL,存储在程序集里面,在执行代码时必须使用JIT编译器将代码编译为本机代码,最后在托管的CLR环境下运行本机代码,以及其他应用程序,并且在CLR管理正在执行的用.NetFramework编写的代码,这个执行代码的阶段通常被称为运行时(Runtime)。编译过程如图3-1所示

图3-1

PS:

  第一次写博客,还真是挺累人的。若有什么错误请指正,倘若觉得不错请点击下推荐,谢谢。

  参考文献

  百度百科

  微软中国社区

  《C#入门经典》

  《你必须知道的.Net》

 

posted @ 2013-03-02 11:26  卤鸽  阅读(723)  评论(0编辑  收藏  举报