.NET平台

一、CIL(Common Intermediate Language)----公共中间语言

1.1 公共

  因为不论C#语音也好,VB.NET语言也好,C++/CLI语言也好,甚至是重新开发一套以自己名字缩写命名的语言,只要他期望运行的目标平台是.net,在经过相应的编译器编译之后,所生成的程序集就是由CIL语言代码描述的。

1.2 中间

  因为这种语言只是比我们使用的高级语言,比如C#低一级,并不是CPU刻意直接执行的本地机器语言。这种语言还需要.NET运行时环境的支持,在执行之前,进行一个just-in-time(即时)的二次编译过程,才能转变成计算机可以识别的指令。

1.3 语言

  CIL不过是一种程序语言,相对于C#来说,它是一种更低级的语言。他是一种面向对象的语言。

由于程序集是由CIL语言所描述的,因此CIL也叫作程序集语言,又因为.NET程序集需要由.NET运行时加载才能运行,可以视其为.NET运行时进行管理的,所以CIL代码也叫作托管代码。相对的,不需要.NET运行时就可以执行的代码就叫做非托管代码。

二、BCL(Base Class Library)----基类库

  这个类库中包含的都是些最基本的类型,其本身已经和CIL语言融为一体了,为CIL语言提供基础的编程支持。

  string在Visula Studio中以深蓝色呈现,属于C#关键字,他是BCL中System.String类型的一个别名。这些由编译器直接支持,将语言本身的关键字类型转换为CIL类型的,就叫做基元类型。比如byte、int、string都是基元类型。

三、FCL(Framework Class Library)----框架类库

  BCL是FCL的一个子集。BCL中包含了与编译器及CIL语言关系紧密的核心类型,以及常见开发任务中都会使用到的类型。

  从功能上可以分为以下几层:

  • 最内一层,由BCL的大部分组成,主要作用是对.NET框架、.NET运行时及CIL语言本身进行支持,例如基元类型、集合类型、线程处理、应用程序域、运行时、安全性、互操作等。
  • 中间一层,包含了对操作系统功能的封装,例如文件系统、网络连接、图形图像、XML操作等。
  • 最外一层,包含各种类型的应用程序,例如Windows Form、Asp.NET、WPF、WCF、WF等

四、CTS(Common Type System)----公共类型系统

  要开发一套新语言,实际要做什么并不是由新语言决定的,而是由CIL来决定的。因此,需要一套CIL的定义、规则或标准。这套规则定义了我们的语言可以做什么,不可以做什么,具有哪些特性。这套规则就成为CTS。任何满足了这套规则的高级语言就可以成为面向.NET框架的语言。C#和VB.NET不过是微软自己开发了一套符合CTS的语言。

  CTS规定了可以在语言中定义诸如类、结构、委托等类型。规范了类型中可以包含字段、属性、方法、事件。规定了各种访问性。定义了一些约束。

  由于CIL是.NET运行时所能理解的语言,因此他实现了CTS的全部功能。虽然他是一种低级语言,但是实际上,他所具有的功能更加完整。

五、CLS(Common Language Specification)----公共语言规范

  CLS是CTS的一个子集,定义了一些常见的、大多数语言都共有的语言特性。

六、CLR(Common Language Runtime)----公共语言运行时

  CLR是一个软件层活代理,他管理了.NET程序集的执行,主要包括管理应用程序域、加载和运行程序集、安全检查、将CIL代码即时编译为机器代码、一场处理、对象析构和垃圾回收等。相对于编译时,这些过程发生在程序运行的过程中。

时间: 2024-10-03 21:41:11

.NET平台的相关文章

谭八爷代理订货平台系统

谭八爷代理订货平台系统  135.3879.3268   谭八爷微商下单系统.谭八爷微商管理系统.谭八爷代理商下单系统等.模式系统开发 传统行业和内容提供本质没有变,但是在结合互联网后的商业模式和运营模式变了,如当前我们谈的多的O2O,核心不是内容提供变化了,是商业模式变化了,这个商业模式变化本身又依托了一个重要假设,即解决了传统行业原有的信息不对称问题. 谭八爷微商平台系统开发的注册流程是非常简单的--扫码注册.同时后台的功能也很强大,代理们收到顾客订单后可以直接在后台向公司下单,同时后台也会

家电二维码售后服务平台系统开发

家电二维码售后服务平台系统开发,家电二维码售后系统开发,小吴183.2071.6434微电,家电二维码售后软件开发,家电二维码售后平台开发. 互联网平台的节点有两大类型:第一基数节点,也就是弱连接的节点,其规模要大,越大越好,互联网的价值与节点数的平比成正比.第二活跃节点,也就是强连接的节点,其能量要强,越强越好,互联网的价值与其强度成正比. 一.家电维修行业"维修黑幕"层出不穷 记者从一位从事家电维修人士那里了解到,目前行业公认当前家电维修行业有陷阱,"维修黑幕"

category is in invalid format hint微信第三方平台将第三方提交的代码包提交审核出错

微信第三方平台通过接口https://api.weixin.qq.com/wxa/submit_audit?access_token=TOKEN将第三方提交的代码包提交审核时一直返回错误码85008的错误信息: category is in invalid format hint 查了半天是接口提交数据时json_encode时中文不能编码提交 将向微信的提交代码     $this->https_post($url,json_encode($postData)); 改为     $this->

基于Spark MLlib平台的协同过滤算法---电影推荐系统

基于Spark MLlib平台的协同过滤算法---电影推荐系统 又好一阵子没有写文章了,阿弥陀佛...最近项目中要做理财推荐,所以,回过头来回顾一下协同过滤算法在推荐系统中的应用. 说到推荐系统,大家可能立马会想到协同过滤算法.本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用.其中,主要包括三部分内容: 协同过滤算法概述 基于模型的协同过滤应用---电影推荐 实时推荐架构分析     一.协同过滤算法概述 本人对算法的研究,目前还不是很深入,这里简单的介绍下其工作原理. 通常,

ZYNQ 7000平台UDP数据包(1字节或2字节)校验和Checksum错误0xFFFF解决方案(linux+vxworks6.9平台)

在赛灵思ZYNQ 7000平台,使用UDP方式发送1字节或者2字节数据时,校验和为错误值0xffff,接收机无法正常接收ZYNQ7000平台发送的数据,本人已经找到该问题的解决方案,有该问题的朋友可以通过邮箱[email protected]与我联系,联系时请详细描述你的环境,针对该咨询提供的问题解决方案会收取一定的费用,费用不会太高,现在是知识付费的年代,希望各位理解,同时如果能够解决您的问题,也是为你节约了开支.我会及时回复邮件的.具体事项可以邮件沟通[email protected].

微信公众平台的最新功能详细介绍与使用技巧!

近日微信官方发布消息,微信公众平台的操作进行了又一次"感天动地"的更新 且听我一一道来 本次主要重要改(Geng)革(Xin)凸显在三个地方 改(Geng)革(Xin)一:图文模版的收藏与使用 这,真的是一个超级实用的功能呀,那么如何使用呢?在哪里找呢? 首先告诉大家,如何收藏图文模板 选中编辑区的部分或者全部素材,然后点击添加模版,图文模板即可收藏成功: 当然,你还可以从外部进行粘贴和复制内容到图文模版. 那么,在哪里找到我收藏的模版呢?? 嗯,就在添加图文模版的旁边啦! 同时,你还

政府部门没组织机构代码、法人证书,怎么开通认证微信公众平台?

政府机关微信公众号认证流程:1.确定需要认证的名字:如xx大队.xx局:2.准备资料:单位证件.运营人身份证.联系手机.登陆邮箱:3.确定类型:订阅号or服务号:资料准备好后,可直接联系公众平台服务商"杰客科技"的客服人员,2天内便可完成认证. 注意事项:1.政府机关认证时需要盖章,没有公章将无法认证:2.公众号认证后,排名将更靠前并显示v标志. 政府微信公众平台开通及认证:http://www.jcjclu.com/apply/201603149.html客服QQ:180805782

微信公众平台开发—利用OAuth2.0获取微信用户基本信息

1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url获取微信回传code值(appid可在微信平台下找到) 1).微信不弹出授权页面url: A.code回传到页面wxProcess2.aspx,不带参数 [csharp] view plain copy Response.Redirect("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&

用gson和httpclient调用微信公众平台API

吐槽:微信api很无语,部分用xml,部分用json. 最近在找如何调用微信公众平台关于json相关的api比较方便,最后发现httpcliect和gson不错.如果你有更好的方式,请告诉我. 以下代码先了解如何使用gson和httpclient,有功夫再整到我的sophia里 import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.

微微信.NET:开源的ASP.NET微信公众号应用平台

题记: 平时喜欢使用 C# 编程,近半年玩微信公众平台,看到一些微信的应用系统大多是PHP.Python的,于是就有想法做一套开放的 C# ASP.NET的微信应用系统. 微微信.NET  基于ASP.NET的开源微信应用平台  --(面向客户完全开源 永久免费代码更新 游戏和点餐菜单正在完善中 很多功能继续优化) 微微信.NET  系统设计架构         本系统基于文件系统和内存数据库,标准板运行于.NET4,完全版需要单独的服务器或者VPS支持          本系统是一个开源系统,