CLR, CTS and CLS

 

CLR(Common Language Runtime) managed

CTS(Common Type System) Implement variable compatible type of COM and define the way of use user-defined type to extend types. Support all possible data type and programming structure, define how to express the format of  .NET metadata.


CTS data type                     


C# keyword                  


 C++/CLI keyword


System.Byte                  


byte


          unsigned char


System.SByte


sbyte


          signed char


System.Int16


short


          short


System.Int32


int


          int or long   


System.Int64


long


          __int64      


System.UInt16


ushort


          unsigned short         


System.UInt32


uint


  unsigned int or unsigned long     


System.UInt64


ulong


         unsigned __int64 


System.Single


float


           Float


System.Double


double


          Double


System.Object


object


          Object&^  


System.Char


char


          wchar_t


System.String


string


          String^


System.Decimal


decimal


          Decimal


System.Boolean


bool


          Bool

CLS(Common Language Specification)Define sub-set of common types and programming structure which is supported by all .NET language.

 

BCL(Basic Library)

 

Encapsulation kinds of basic types(Thread, File I/O, Web API, GUI desktop API, Data access, Security, Remote Handle API)

 

CIL(Common Intermediate Language)

 

C# compiler generate the CIL.

CIL---JIT compiler--->CPU instruction.

Using ildasm.exe in VS command to see the CIL code.(Ctrl+M: see all MetaInfo)

BTW, Reflector can see all the managed code.

时间: 2024-09-20 02:53:12

CLR, CTS and CLS的相关文章

公共语言运行时CLR由CTS、CLS、JIT组成,请问C#编译器和VB.NET编译器属于CLR吗?

问题描述 公共语言运行时CLR由CTS.CLS.JIT组成,那么请问:C#编译器和VB.NET编译器属于CLR吗? 解决方案 解决方案二:这两者应该没关系吧.是两个东西,编译器是将C#VB代码编译成CLR可以执行的中间语言.解决方案三:CLR跟JVM的意义基本相等,就是一个运行时的环境.直接查一下定义就可以看到,"CLR的核心功能包括:内存管理.程序集加载.安全性.异常处理和线程同步".因此可以看到它跟编程语言无关.MFC跟编程语言其实是也无关,但是它显然几乎只是被特定语言接受,不如C

关于CLR、CIL、CTS、CLS、CLI、BCL和FCL

原文地址:点击打开链接 相关名词解释: 如果要想深入学习.NET平台,那么标题中的这些关键字对你来说并不陌生,这些名词构成了.NET庞大的生态系统,为了宏观认识.NET平台,学些.NET架构体系,针对一些常用常用名词的理解是很有必要的,未必强行记忆,但至少要知道它们的含义. CLR,公共语言运行时(Common Language Runtime) 无论通过任何语言构建产品,都必须寄宿到一个平台中运行,这正如我们的软件运行在操作系统环境一样,操作系统为CLR提供了运行环境,使用.NET构建的程序又

asp.net面试题收集

asp.net 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数. 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datat

Common Language Runtime

CLR是什么? 上次讲到运行在.NET Framework中的代码叫做managed code,反之叫做unmanaged code.相比unmanaged code,managed code 有很多好处,比如可以用多种编程语言编写.提高安全性.易于版本控制和程序发布等等.这些都是由CLR提供的.但也有一些不利点,最容易想到的就是代码运行速度问题了. 要为managed code提供以上功能,CLR必须知道代码中的数据类型.类和与她有关连的assembly的定义.这些信息叫做metadata,而

c#高級編程記錄--第一章

C#有一個基於值類型和引用類型之間區別為基礎的類型系統: 相關概念:CLR.受管制代碼.非受管制代碼.CTS.CLS.裝配件.反射.裝配件清單.應用域.無用存儲單元收集 .NET程序包含多個裝配件,其中一個裝配件被指定為一個可執行程序,包含主程序的啓動入口點,其他的裝配件則被指定為庫 編譯.運行:* .CS--〉裝配件(IL.元數據)--〉CLR(JIT編譯(獲取安全許可.内存類型檢查.應用域).無用内存單元檢查與收集.com交換操作服務) 值類型:變量保存值,存在堆棧中 引用類型:變量保存地址

.NET Framework 之 Common Language Runtime

CLR是什么? 上次讲到运行在.NET Framework中的代码叫做managed code,反之叫做unmanaged code.相比unmanaged code,managed code 有很多好处,比如可以用多种编程语言编写.提高安全性.易于版本控制和程序发布等等.这些都是由CLR提供的.但也有一些不利点,最容易想到的就是代码运行速度问题了. 要为managed code提供以上功能,CLR必须知道代码中的数据类型.类和与她有关连的assembly的定义.这些信息叫做metadata,而

.NET概观

这篇文章很多地方借鉴了David Chappell的<Understanding .NET>和其他的一些网上的文章,但是也有一些我自己的文字.写这篇文章的本意是希望能用一些较少的文字能给读者对.NET一个全面的.但是并不深入的印象.这里谨对<Understanding.NET>的作者David Chappell及译者侯捷.荣耀还有其他的作者们表示感谢! .NET概观微软.NET的出现,可以说是一场地震.它将震撼Windows环境下工作的任何人,同时也将在范围更广的世界里产生余震.微

[你必须知道的.NET] 第七回:品味类型---从通用类型系统开始

本文将介绍以下内容: .NET 基础架构概念 类型基础 通用类型系统 CLI.CTS.CLS的关系简述 1.引言 本文不是连环画,之所以在开篇以图形的形式来展示本文主题,其实就是想更加特别的强调这几个概念的重要性和关注度,同时希望从剖析其关系和联系的角度来讲述.NET Framework背后的故事.因为,在作者看来想要深入的了解.NET,必须首先从了解类型开始,因为CLR技术就是基于类型而展开的.而了解类型则有必要把焦点放在.NET类型体系的公共基础架构上,这就是:通用类型系统(Common T

深入.NET平台和C#编程---总结

一   第一章  1 简述.NET框架体系结构的组成    答:包括CLR(公共语言进行时)和框架类库. 2 简述CLR的主要用途    答:它是所有的,NET应用程序运行时环境,是所有.NET应用程序都要使用的编程基础,它如同一个支持.NET应用程序运行和开发的虚拟机.包括CTS和CLS.   CTS-通用类型系统:用于解决不同语言的数据类型不同的问题,所有.NET语言共享这一类型系统,在他们之间实行无缝互操作.  CLS-公共语言规范:最低的语言标准,所有运行在.NET平台上的语言所必须支持