.NET 技术FAQ(二)-----基本术语

原创 2004年09月08日 15:37:00

2. 基本术语
2.1
什么是 CLR

CLR = Common Language Runtime—通用语言运行库。CLR 是一组标准资源集合,无论编程语言是什么,所有 (理论上) .NET 程序都能从中获益。Robert Schmidt (Microsoft) 在他的 MSDN PDC# 文章 中列出了以下 CLR 资源:
面向对象的编程模型 (继承、多态、异常处理、垃圾收集)
安全模型
类型系统
所有的 .NET 基础类
许多 .NET 框架类
开发、调试和测评工具
运行和代码管理
IL-
机器语言 转换器和优化器
这些的含义是,在 .NET 世界里,不同的编程语言将在能力上比过去任何时候都更平等,虽然显然不是所有语言都支持所有 CLR 服务。
 
2.2
什么是 CTS
CTS = Common Type System—
通用类型系统。它是指 .NET 运行库所理解、并且随后 .NET 应用程序可以使用的一系列类型。然而,注意不是所有的 .NET 语言都将支持 CTS 中的所有类型。CTS CLS 的超集。
 
2.3
什么是 CLS
CLS = Common Language Specification—
通用语言规范。它是预计所有 .NET 语言都支持的一个 CTS 的子集。这一思想是让使用 CLS-相容类型的任何程序和以任何语言编写的 .NET 程序可以互相操作。
理论上它能允许在不同的 .NET 语言之间有紧密的互操作性例如允许从一个 VB 类里继承一个 C# 类。
 
2.4
什么是 IL
IL = Intermediate Language—
中间语言。又称为 MSIL。所有 .NET 源代码 (使用任何语言) 被编译为 IL。然后在软件的安装点上或者运行时,IL 由即时 (JIT) 编译器转换为机器码。
 
2.5
什么是 C#
C#
是在 .NET 框架中运行的一种新语言。在他们的“C# 简介白皮书中,Microsoft 这样描述 C#
C#
是从 C C++ 派生出来的一种简单的、面向对象的、并且是类型安全的现代编程语言。C# (发音为‘C sharp’) 牢固地根植于在 C C++ 家族之树,将很快为 C C++ 程序员所熟悉。C# 帮助开发者将 Visual Basic 的高生产率和 C++ 的直接控制能力结合起来。
将以上引言中的“C#”换成“Java”,你会发现这句陈述依然很正确 :) 
 
2.6
.NET 范畴里,被管理是什么含义?
术语被管理导致了很多误解。在 .NET 里的不同地方都使用了它,分别指相互差别不大的不同东西。

被管理代码:.NET 框架为运行在其上的程序提供了几个核心的运行服务例如异常处理和安全性。为使这些服务能工作,代码必须提供运行时的最低程度的一些信息。这样的代码被称为被管理代码。默认情况下,所有 C#Visual Basic.NET JScript.NET 代码都是被管理代码。如不指明,VS7 C++ 代码不是被管理代码,但能通过一个命令行开关 (/com+) 使编译器产生被管理代码。
被管理数据:是指由 .NET 运行库的垃圾收集器分配和回收的数据。C#VB.NET JScript.NET 数据总是被管理的。即使使用了 /com+ 开关,默认情况下 VS7 C++ 数据也不是被管理的,但可以使用 __gc 关键字将其指定为被管理数据。
被管理类:通常在 C++ Managed Extensions (ME) 范畴中涉及。使用 ME C++ 时,可以用 __gc 关键字将其指定为被管理的。名副其实,该类的实例所占用的内存由垃圾收集器管理,但还不止如此。该类还成为了完全的 .NET 团体的成员,同时带来了好处和限制。好处之一是获得了与其它语言编写的类之间的互操作性例如,一个被管理 C++ 类可以继承 VB 类。限制之一是被管理类只能继承一个基类。
 
2.7
什么是映像?
所有的 .NET 编译器都产生关于它们所产生的模块中的类型定义的特殊数据。这些特殊数据同模块封装在一起 (随后模块被封装到元件中),可以通过称为映像 的机制来访问。System.Reflection 命名空间中包含向模块或元件询问其类型的类。
使用映像来访问 .NET 的特殊数据同使用 ITypeLib/ITypeInfo 来访问 COM 中的类型库数据非常相似,而且使用的目的也很相似例如确定数据类型大小,以便在上下文、进程、机器的边界间调度它们。
映像还可以被用来动态调用方法 (参见 System.Type.InvokeMember),甚至在运行时动态创建类型 (参见 System.Reflection.Emit.TypeBuilder )

JAVA常见基本术语

一、J2EE、J2SE、J2MEjava发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用范围不同。1.J2SE:java2 Standard edition (...
  • u010609066
  • u010609066
  • 2016年02月11日 20:41
  • 1092

收集一些IT常用名词术语

1、CDN 全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处...
  • u013612847
  • u013612847
  • 2015年04月13日 13:31
  • 1713

树的定义及基本术语

树:是n(>=0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余节点可分为 m(m>0)互不相交的有限集T1,T...
  • crazylzxlzx
  • crazylzxlzx
  • 2016年08月02日 10:14
  • 511

html css 术语 和 基本语法

术语语法 介绍 在学习之前区别html和css之间不同,语法和常用的术语。 Html语言是被创建用于给予网页内容结构和语义信息的超文本语言。 CSS语言是被创建用于给予网页内容样式的层叠样式表。...
  • ZiLongO
  • ZiLongO
  • 2014年04月26日 23:08
  • 1480

计算机编程中常用的术语

术语及其解释 术语 解释 问题解决 problem-solving 表述问题,找到解决方案并表述方案过程 高级语言 high-level language 便于人类读写而设计的...
  • baidu_33725271
  • baidu_33725271
  • 2017年04月15日 23:18
  • 1629

Java中常用术语简称

DAO:Data Access Object 数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。 EAO:(Entity Access Object)EAO是基于DA...
  • hujingn
  • hujingn
  • 2013年03月17日 10:09
  • 6430

C#和.NET框架和术语

接触C#的时候,肯定会先接触到一堆专业术语C#、.NET、CLI、CIL、CTS、CLS、CLR、JIT、BCL、FCL、Module、Assembly 等等 我们把C#和.NET这些术语解释下 ...
  • teng_ontheway
  • teng_ontheway
  • 2016年05月16日 10:02
  • 667

软件测试常用术语

软件【Software】:     软件(software)是计算机中与硬件(hardware)相结合的一部分,包括程序(program)和文档(document)。用一个等式表示为:软件=程序+文...
  • crystal731
  • crystal731
  • 2015年10月08日 11:10
  • 1057

物联网专业术语

物联网常见的专业术语,保存为笔记以便随时查看。
  • gongxifacai_believe
  • gongxifacai_believe
  • 2017年11月18日 19:55
  • 153

机器学习(一) - - 基本术语

《机器学习》周志华 清华大学出版社 读书笔记(一)- - 基本术语
  • zmdsjtu
  • zmdsjtu
  • 2016年09月28日 10:30
  • 2420
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET 技术FAQ(二)-----基本术语
举报原因:
原因补充:

(最多只允许输入30个字)