net framework体系结构

2024-06-19 01:32
文章标签 体系结构 net framework

本文主要是介绍net framework体系结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写图片描述

这里写图片描述
这里写图片描述

术语解释
CIL(common intermediate language):公共中间语言。.net框架下各种种类、版本的编程语言在经过编译后生成的中间语言(后缀为.il),与平台无关、与语言无关,只要机器上运行了.net框架都可以运行.il文件。

  BCL(basic class library):基类库。包含基础的类型(比如Console、string),为IL提供基础的编程支持,所有面向CIL的语言都可以使用这个类库。

  FCL(framework class library):框架类库。BCL是FCL的一个子集,【应该】包含了所有的.net类。

  CTS(common type system):公共类型系统。当自己要设计一种面向.net的高级语言时,都要遵循的规范就是CTS,比如C#。任何面向.net的语言都要满足CTS的要求,但不必实现CTS中所有的标准与规定,但语言本身不能有违背CTS的地方。这样的语言编译后生成CIL。

  CLS(common language specification):公共语言规范。一种面向.net的语言在引用另一种面向.net的语言的公开程序集的时候(即修饰符为public,若为private、protected等,则一定不能被其他语言引用),这两种语言需要满足一定的规范,即CLS。CLS是CTS的一个子集。绝大部分的FCL都满足CLS,只有极个别特殊的不满足,这就使得面向.net的程序语言都可以使用FCL中的类型。

  CLR(common language runtime):公共语言运行时。当执行.exe和程序集的时候,负责运行程序、程序集的就是CLR。在程序集中包含的CIL还不是机器能够执行的指令,CLR管理了.net程序集的执行,包括:加载和运行程序集、安全检查、将CIL代码即时编译为机器代码等。runtime虽然有时间,但是CLR和时间并没有关系。相对于编译时,CLR发生在程序的运行过程中。具体可举例子理解:在程序执行时,CLR会找到并加载main(),然后执行下面的程序。这样做,有了CLR,可以使.net程序集跨平台使用,和Java虚拟机相似。

  CLI(common language infrastructure):公共语言基础。一个国际标准。.net框架只是CLI的一个具体实现,所以,还有其他的实现。

参考
1、图文讲解.NET CLR是什么
2、C#、.NET Framework、CLR的关系
3、NET框架
4、C#和.NET框架

装载自:net framework体系结构

这篇关于net framework体系结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073623

相关文章

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

解决Entity Framework中自增主键的问题

《解决EntityFramework中自增主键的问题》:本文主要介绍解决EntityFramework中自增主键的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Entity Framework中自增主键问题解决办法1解决办法2解决办法3总结Entity Fram

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n