昆明网站建设猫咪,电商网站建设比较好的,南通市港闸区城乡建设局网站,黔西县住房和城乡建设局网站什么是.NET#xff1f; 起源#xff1a;比尔盖茨在2000年的Professional Developers Conference介绍了一个崭新的平台叫作Next Generation Windows Service#xff0c;也就是后来的.NET。
软件层#xff1a;.NET可以被看作是介于操作系统和编程语言之间的软件层#xff0…什么是.NET 起源比尔盖茨在2000年的Professional Developers Conference介绍了一个崭新的平台叫作Next Generation Windows Service也就是后来的.NET。
软件层.NET可以被看作是介于操作系统和编程语言之间的软件层它可以支持多种编程语言包括C#,VB.NET,C,F#等等。
用来产生托管代码的框架、平台传统的编译方式是源代码→编译→可执行文件在.NET中编译方式是源代码→编译→程序集→可执行文件。编译后的程序集包含IL代码和元数据在运行时再转换成机器代码。
按开发到执行阶段来说开发阶段.NET提供了庞大的类库在程序执行阶段.NET提供了一个CLR运行时环境帮助我们实时编译程序、进行安全检查、执行垃圾回收管理内存等。 规范.NET包含了众多的规范比如CILBCL, FCL, CTS, CLS等等。
什么是IL ILIntermediage Language,中间语言并不是CPU可以直接执行的本地机器语言在转换成计算机可以识别的指令之前还要进行一个被称为Just in time的二次编译过程。在.NET框架下任何语言比如C,VB.NETC#等等在经过各自的编译器编译之后都会被转换成中间语言。IL还有另外的2种叫法CILCommon Intermediate LanguageMSIL Microsoft Intermediate Language。 查看IL代码参考这里http://www.cnblogs.com/darrenji/p/3967669.html 什么是CLI CLICommon Language Infrastructure, 公用语言基础 .NET的各种规范都遵循了这个标准。 什么是BCL BCL, Basic Class Library, .NE为我们提供的基类库。 创建一个控制台项目。 把鼠标停留在Console上并按F12。 发现Console是System的成员点击System。 发现System是mscorlib的成员点击mscorlib。 发现mscorlib是一个程序集位于C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll 也就是mscorlib包含了.NET的基类库。 string类型是否属于基类库呢 把鼠标停留在string关键字上并按F12。 发现string实际上是System.String类型原来.NET为我们把关键字string和CLI标准System.String作了映射。 依此类推 btye映射了System.Byte, short映射了System.Int16 等等。 像string, byte, short等等这些都是基元类型。所以凡是把语言本省的关键字与CLI的类型映射起来的都叫基元类型。 什么是FCL FCL Framework Class Library, 框架类库提供的类库更多BCL是FCL的子集。比如在ASP.NET MVC下提供了System.Web.MVC。 什么是CTS CTS, Common Type System, 公共类型系统。CTS规定了在编程语言中可以定义的方面包括类、结构、委托类中的方法、字段、属性、事件等还定义了一些约束比如所有类型都隐式继承自System.Object类型。 什么是CLS? CLS, Common Language Specification, 公共语言规范必须完全符合CTS的标准是CTS的子集。比如C#编译生成的程序集有很多类VB编译生成的程序集也有很多类现在VB编译需要引用C#程序集的某个类怎么办呢 我们需要让C#程序集中需要被引用的这个类符合CLS规范.NET为我们准备了CLSCompliant特性。 [assembly:CLSCompliant(true)]
public class SomeClass{ } 什么是CLR CLR, Common Language Runtime, 公用语言运行时。IL代码需要通过CLR进行即时编译才能转换成机器代码。大致过程是 编程语言代码编译生成程序集。程序集中的PE/COFF头包含了供Windows操作系统查看和使用的信息CLR头告诉操作系统这是一个.NET程序集程序集清单描述了程序集本身的信息比如程序集标识、程序集包含的资源、组成程序集的文件等等元数据描述了程序集包含的内容比如包含的模块、类型、类型成员、类型成员的可见性等等。 CLR开始工作管理应用程序域加载和运行程序集 安全检查 将IL代码JIT编译成机器代码异常处理 垃圾回收等等。 相关文章
CLR如何加载程序集以及程序集版本策略 http://www.cnblogs.com/darrenji/p/4179916.html 查看是否安装.NET Framework、.NET Framework的版本号、CLR版本号 http://www.cnblogs.com/darrenji/p/3977406.html CLR是如何被加载并工作的 http://www.cnblogs.com/darrenji/p/4159259.html 什么是JIT JIT, just in time, 即时编译。在CLR中把IL转换成机器代码的工作交给了JIT编译器。即时编译只在方法第一次被调用时发生。