.NET与Microsoft Shared Source CLI

1. .NET

.NET本质上是一个新的开发框架,为传统Windows操作系统(尤其是Windows2000API和服务提供全新的编程接口,它同时还将Microsoft90年代晚期开发的各种技术融合起来,这些技术包括COM+组件服务,ASP Web开发框架,对XML和面向对象设计的全面支持,对新的Web服务协议(如SOAPWSDL,和UDDI)的支持,现在以Internet为中心,都集成在原来的DNA体系中。

.NET平台包括4个不同的产品群:

1 一组语言,包括C#VB.NET;一套开发工具,包括Visual Studio.NET;一个创建Web服务,Web程序和Windows程序的综合类库;以及内置于框架中执行对象的运行期环境CLRCommon Language Runtime,公共语言运行期)。

2  一组.NET企业级服务器,即原先称为SQL Server 2000Exchange 2000Biztalk 2000等服务器产品,提供了关系型数据存储,电子邮件和B2B商务等各种专门功能。

3 一组商用Web服务,即最近发布的Hailstorm计划;开发者在付费后可以使用这些服务。

4 新的应用.NET的非PC设备,从手机到游戏机。

 

Microsoft .NET不仅支持语言无关性,而且支持语言的集成性。这意味着可以跨越不同语言继承类,捕捉异常并应用多态性。.NET框架通过所有.NET组件都需遵守的类型规范CTSCommon Type System,公用类型系统)实现了这一点。

而且.NET还引入CLSCommon Language Specification,公用语言规范),提供了语言继承必须的一系列基本规则。CLS规定了成为.NET语言的最低要求,符合CLS的编译器都可以生成彼此能互相操作的对象。整个FCLFramework Class Library,框架类库)可以被符合CLS的任何语言使用。

 

.NET中,程序并不编译为可执行文件,而是编译成Microsoft ILMicrosoft Intermediate LanguageMicrosoft中间语言)文件,而后由CLR去执行,C#生成的Microsoft IL文件与其他.NET语言完全相同,平台不会区分语言。关于CLR关键的一点在于,它是公用的,这个运行期系统既支持用C#,也支持用VB.NET

C#代码在Build工程时将被编译为IL,在运行时,IL会使用即时(JITJust in time)编译器再次编译,这一过程常被称为JITing,生成的结果就是机器码,可以由机器的处理器执行。

 

2. Microsoft Shared Source CLI的运行引擎包括源代码,并支持remoting, context model, threading,code access security。所有这些加在一起是一个包括9000多源文件的代码库。这是微软发布的最大的代码库。微软的这个代码库严格遵循CLI规范。Microsoft Shared Source CLI还包括完整的C#Jscript编译器源代码。还有

ILASM,ILDASM,cordbg.exe, sn.exe, gacutil.exe, al.exe caspol.exe peverify.exe等。

Share Source CLI将源代码最终编译为5个文件:Mscorlib.dll, System.dll, System.xml.dll, System.runtime.remoting.dllSystem.runtime.serialization.formatters.soap.dll

Share Source CLI和商业CLR的差异:

Library

What's Missing

Public Classes

Public Classes Missing

System.dll

Most of Microsoft.Win32
Most of System.ComponentModel
Most of System.Diagnostics
System.IO classes
System.Timers

237

274

System.runtime.remoting.dll

HttpRemotingHandler

25

3

System.xml.dll

No public classes changed

212

0

Mscorlib.dll

Microsoft.Win32.Registry Lots of System.Runtime.Interop-Services All of System.Security.Cryptography

867

188

System.runtime.Serial-ization.formatters
Soap.dll

Nothing

2

0

因为Share Source CLICLRdemo版,不是商业版,你找不到windows formsado.net 或者web service这样的服务。

Share Source CLIclass库层次

 

Share Source CLIdll依赖:

运行时框架

Share Source CLI的运行时环境实行3个主要认为:

1 loading,实行代码

2 内存管理

3 安全管理

 

运行时的何姓包含3个类

ClassLoader(clsload.h) 管理ILmetadata的加载和监管什么时候如何运行JIT编译器。ClassLoader的运行涉及到EEClass对象(class.hclass.cpp)的事例维护。

FJit (fjit.h) 读取IL,生成x86机器代码。JITsscli/clr/src/fjit编译code

GCHeap(gc.h)内存管理和garbage collection

下载Share Source CLI

http://msdn.microsoft.com/net/sscli/

建立build环境,调用env.bat文件,创建环境变量,和所需要到目录。之后巡行buildall.cmd文件。结果会生成/build目录包括30 dll23Exe,还有一些其它支持文件。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值