标签:必须 完成 特定 专用 指定 strong 语言 net run
.NET Framework 主要包含一个非常的代码库。
部分 .NET Framework 库定义了一些基本类型。类型是数据的一种表达方式,指定其中最基础的部分,以便使用 .NET Framework 在各种语言之间进行交互操作。这称为通用类型系统。
为了执行 C# 代码,必须把它们转换为目标操作系统能够执行的本机代码,这种转换称为编译代码,由编译器执行。
在编译使用 .NET Framework 库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为中间语言代码即:Microsoft Intermediate Language ,MSIL 。
这些代码不专用于任何一种操作系统,也不专用于C#,独立于机器、操作系统和CPU的。
MSIL 代码仅在需要时才由编译器 Just-In-Time(JIT)来完成编译。
在编译应用程序时,所创建的MSIL代码存储在一个程序集中,程序集包括可执行的应用程序文体和其他应用程序使用的库,扩展名为 .dll. 还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源例如声音文件和图片等。
在把代码编译为 MSIL,再用 JIT 编译器把它编译为本机代码后,CLR的任务还没有全部完成。用 .NET Framework 编写的代码在执行(这个阶段通常称为运行时 runtime)时是托管的。即 CLR 管理着应用程序,其方式是管理内存、处理安全性,以及允许进行跨语言高度等。相反,不在 CLR 控制之下运行的应用程序是非托管的。
托管代码最重要的一个功能就是垃圾回收。这种 .NET方法可以确保应用程序不再使用某些内存时,这些内存就会被完全释放。
标签:必须 完成 特定 专用 指定 strong 语言 net run
原文地址:http://www.cnblogs.com/yopo/p/7577673.html