.NET跨平台原理(上篇)

1、.NET Framework层次结构

FCL(Framework Class Library)
BCL(Basic Class Library)
CLR(Common Language Runtime)

FCL:这是一个为开发人员提供的API类库,比如我们经常使用的框架:Windows Forms、ASP.NET、WPF、WCF等。这一层是直接面向开发人员的。

BCL:这是处于底层的类库,提供与操作系统层面交互的代码,如:IO、线程管理

CLR:它为程序提供一个托管的执行环境,是.NET Framework的执行引擎。CLR与.NET的关系等同于JVM与Java的关系,CLR本质上就是.NET的虚拟机。

2、CLI

要实现跨平台,必须解决两种类型的差异:编程语言的差异和运行时环境的差异。只有编程语言之间能够实现相互兼容,运行时环境能够得到统一,跨平台方可实现。CLI旨在解决这样一个问题:由不同高级编程语言开发的.NET应用能够在无须任何更改的情况下运行于不同的系统环境中。

CLI全称:Common Language Infrastructure。其中Common Language指的是通用语言,旨在解决各种高级开发语言的兼容性问题。Infrastructure指的是运行时环境,旨在弥补不同平台之间执行方式的差异。

编程语言分为编译型和解释型两类。前者需要通过编译器实施编译以生成可执行代码,CLI涉及的就是编译型语言。要实现真正的跨平台,最终需要解决的是可执行代码在不同平台之间的兼容和可移植问题。如果不同编程语言经过编译后生成的可执行代码是一样的,那么编程语言之间的差异就不再是一个问题了。

2.1、CIL

按照CLI的规

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值