本文共 725 字,大约阅读时间需要 2 分钟。
接触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:公共中间语言
参考链接:
参考书籍:C#图解教程