.net学习之CTS、CLS和CLR

CLR:公共语言运行时,就是所有.net语言写的程序的公共运行时环境,比如C#、VB.Net等语言写的程序需要运行在CLR上,然后CLR解析执行操作系统的相关指令,CLR是.net程序运行在操作系统的必备环境。

   就像JAVA程序必须运行在JAVA虚拟机一样。只不过CLR运行所有.NET支持的语言开发的程序,比如C#、VB.Net等语言.

CTS:公共类型系统,因为.NET支持C#、VB.NET、Ruby等语言,这些语言都有各自的类型,比如C#有int、string、long、uint等,VB也有类似的类型系统,Ruby也有类型的类型系统,而所有语言都运行在CLR上,所以需要一个最基本的类型系统,在这个基础上

   稍微改造一下就可以支持所有的其他语言。

CLS:公共语言规范,为了让所有语言都能运行在CLR上,CLS就是语言开发的程序运行在CLR上的一个规则。为了让各个语言开发的中间程序都可以相互引用和操作而设定的规则和规范。

时间: 2024-10-11 23:28:39

.net学习之CTS、CLS和CLR的相关文章

什么是.Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT

什么是.NET? 起源:比尔盖茨在2000年的Professional Developers Conference介绍了一个崭新的平台叫作Next Generation Windows Service,也就是后来的.NET. 软件层:.NET可以被看作是介于操作系统和编程语言之间的软件层,它可以支持多种编程语言,包括C#,VB.NET,C++,F#,等等. 用来产生托管代码的框架.平台:传统的编译方式是"源代码→编译→可执行文件",在.NET中编译方式是"源代码→编译→程序集

什么是CTS、CLS和CLR

CTS.CLS和CLR是.NET框架的基本概念,但往往成为程序员们忽视的部分.清楚理解三者的概念,有助于.NET程序员编写高效安全的.NET程序. 所涉及到的知识点 •   .NET的基本概念 •   CLS.CTS和常用语言的关系 分析问题    CLR的全称是公共语言运行库(Common Language Runtime),读者可以把CLR理解为一个包含运行.NET程序的引擎和一堆符合公共语言基础结构的类库的集合.CLR是一个规范的实现,我们开发的 几乎所有的.NET程序都基于CLR的类库来

CTS,CLS,CLR解释

问题阐述 CTS.CLS和 CLR分别是什么意思? 专家解答 CTS.CLS和 CLR是.NET框架的 3个核心部分,下面分别对它们进行介绍. (1)CTS CTS即通用类型系统,它定义了如何在.NET Framework运行库中声明.使用和管理类型,同时也是.NET Framework运行库支持跨语言集成的一个重要组成部分.通用类型系统主要执行以下功能: .建立一个支持跨语言集成.类型安全和高性能代码执行的框架. .提供一个支持完整实现多种编程语言的面向对象的模型. .定义各语言必须遵守的规则

.NET中的CTS、CLS和CLR

在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?我们在学习的过程中可能比较过多的会去关注CLR,因为CLR是.NET Framework的核心,但是我要说的是CTS和CLS更为重要,因为他们是CLR的核心.任何编程语言,如果想要在.NET CLR上执行,就必需提供一个编译器,将此语言的程序编译成.NET CLR所认识的metadata以及IL,符合CTS的规定.并非所有的语言都能和C#一样符合CTS的规范,毕竟许多语言出现在先,CTS出现

CTS、CLS、CLR

CTS 一个给定的程序集可能包含任意数量的不同"类型".在.NET领域,类型(type)是一个一般性的术语,它指的是集合{类,接口,结构,枚举,委托}里的任意一个成员.当用支持.NET的语言构建解决方案时,很有可能要与这些类型打交道.例如,程序集可能定义了一个类,它又实现了一些接口.或许其中某个接口方法采用枚举类型作为输入参数,而在调用时返回一个结构. CTS(公共类型系统)是一个正式的规范,它规定了类型必须如何定义才能被CLR承载.通常,只有那些创建针对.NET平台的工具或编译器的人

C#.NET中的CTS、CLS和CLR

以下内容来自:http://www.cnblogs.com/zagelover/articles/2741370.html 在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?我们在学习的过程中可能比较过多的会去关注CLR,因为CLR是.NET Framework的核心,但是我要说的是CTS和CLS更为重要,因为他们是CLR的核心.任何编程语言,如果想要在.NET CLR上执行,就必需提供一个编译器,将此语言的程序编译成.NET CLR所认识

CTS,CLS,CLR

1)CTS通用类型系统(Common Type System) CTS不但实现了COM的变量兼容类型,而且还定义了通过用户自定义类型的方式来进行类型扩展.任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射.所有.NET语言共享这一类型系统,实现它们之间无缝的互操作.该方案还提供了语言之间的继承性.例如,用户能够在VB.NET中派生一个由C#编写的类.我们可以将CTS 看成是所有.NET 语言的superset (union),而符合CTS 的各种不同的语言,其实都只是CT

.NET笔试题集(二)

1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源.using其实等价于try--finally,用起来更方便. 2.Assembly.Load("foo.dll"); 这句话是否正确? 错误,正确的应该是Assembly.Load("foo"); 或者Assembly

.net 笔试题目

2.1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源.using其实等价于try--finally,用起来更方便. 2.2.Assembly.Load("foo.dll"); 这句话是否正确? 错误,正确的应该是Assembly.Load("foo"); 或者Asse