C#和.NET框架和术语
2016-05-16 10:02
330 查看
接触C#的时候,肯定会先接触到一堆专业术语C#、.NET、CLI、CIL、CTS、CLS、CLR、JIT、BCL、FCL、Module、Assembly 等等
C#应用的内部编译、执行过程如下:
我们把C#和.NET这些术语解释下
各种语言C#、VB等基于.NET环境的语言,在经过各种编译器编译后,生成CIL(common intermediate language公共中间语言),CIL是和平台无关的,CIL在被调用运行时经过JIT(just in time实时编译器编译),编译成和平台相关的本地代码。
1.C# 编程语言、高级语言
2..NET是比MFC和COM更优秀的面向对象的环境.主要优秀在跨平台
3.托管代码:为.NET框架编写的代码,需要CLR
非托管代码:不在CLR控制之下运行的代码,如win32 c/c++ dll
4.CIL:是和平台无关的公共中间语言,这样能做到跨平台性,在运行的时候经过JIT实时编译器编译后,编译成和平台相关的本地代码。微软提供了Ngen工具把程序集转换成本机代码,免除了运行时JIT实时编译。
5.CLR:公共语言运行库。Common Language Runtime。是.NET核心组件,是操作系统的顶层,负责管理程序的执行。主要包括:
GC 垃圾回收器
JIT 实时编译器
BCL 基类库
6.CLI :(Common Language Infrastructure公共语言基础结构),是一组标准,把.NET框架的组件组合成一个系统。包含:
CLR:公共语言运行库
CLS:公共语言规范
BCL:基类库
元数据+定义
CTS:公共类型系统
CIL:公共中间语言
参考链接:http://www.tracefact.net/CLR-and-Framework/DotNet-Framework.aspx
参考书籍:C#图解教程
C#应用的内部编译、执行过程如下:
我们把C#和.NET这些术语解释下
各种语言C#、VB等基于.NET环境的语言,在经过各种编译器编译后,生成CIL(common intermediate language公共中间语言),CIL是和平台无关的,CIL在被调用运行时经过JIT(just in time实时编译器编译),编译成和平台相关的本地代码。
1.C# 编程语言、高级语言
2..NET是比MFC和COM更优秀的面向对象的环境.主要优秀在跨平台
3.托管代码:为.NET框架编写的代码,需要CLR
非托管代码:不在CLR控制之下运行的代码,如win32 c/c++ dll
4.CIL:是和平台无关的公共中间语言,这样能做到跨平台性,在运行的时候经过JIT实时编译器编译后,编译成和平台相关的本地代码。微软提供了Ngen工具把程序集转换成本机代码,免除了运行时JIT实时编译。
5.CLR:公共语言运行库。Common Language Runtime。是.NET核心组件,是操作系统的顶层,负责管理程序的执行。主要包括:
GC 垃圾回收器
JIT 实时编译器
BCL 基类库
6.CLI :(Common Language Infrastructure公共语言基础结构),是一组标准,把.NET框架的组件组合成一个系统。包含:
CLR:公共语言运行库
CLS:公共语言规范
BCL:基类库
元数据+定义
CTS:公共类型系统
CIL:公共中间语言
参考链接:http://www.tracefact.net/CLR-and-Framework/DotNet-Framework.aspx
参考书籍:C#图解教程
相关文章推荐
- 如何在 Linux/Windows/MacOS 上使用 .NET 进行开发
- 如何在 Linux 中安装微软的 .NET Core SDK
- Aut2Exe编译au3脚本为可执行文件
- CentOS 6.3下编译安装Ruby 2.0笔记
- C#.NET获取拨号连接的宽带连接方法
- C#.Net ArrayList的使用方法
- 把Lua编译进nginx步骤方法
- Lua中编译执行代码相关的函数详解
- PowerShell中使用.NET将程序集加入全局程序集缓存
- Chrome Visual Studio 2005下的编译过程
- 带着问题读CLR via C#(笔记一)CLR的执行模型
- .net(c#)中的new关键字详细介绍
- 由vbs sort引发.NET Framework之间的关系说明
- C#难点逐个击破(6):C#数据类型与.net framework数据类型
- .NET中的async和await关键字使用及Task异步调用实例
- Windows下使用Cygwin编译MySQL客户端
- android的编译和运行过程深入分析
- 基于.NET平台常用的框架和开源程序整理
- .Net中的json操作类用法分析
- .net实现序列化与反序列化实例解析