怎么查询网站的建站时间定制规划设计公司
web/
2025/10/7 18:57:55/
文章来源:
怎么查询网站的建站时间,定制规划设计公司,娱乐公司网站建站背景介绍,怎么用wordpress做搜索网站要知道C/CLI是什么#xff0c;首先知道什么是CLI。
一、CLI简介
CLI#xff1a;(Common Language Infrastructure,通用语言框架)提供了一套可执行代码和它所运行需要的虚拟执行环境的规范。更通俗的我们可以说它是一个虚拟平台#xff0c;是操作系统和应用程序间的一层抽象…要知道C/CLI是什么首先知道什么是CLI。
一、CLI简介
CLI(Common Language Infrastructure,通用语言框架)提供了一套可执行代码和它所运行需要的虚拟执行环境的规范。更通俗的我们可以说它是一个虚拟平台是操作系统和应用程序间的一层抽象。微软的.NET的基础CLRCommon Language Runtime通用语言运行时就是CLI的一个实例。 CLI主要的组成部分有CTSMetadataCLS和VES。
★ CTSCommon Type System通用类型系统是CLI的基础它是一个类型规范定义了所有CLI平台上可以定义的类型的集合所有基于CLI的语言类型都是CTS的一个子集目前C/CLI是对CTS描述支持最好的高级语言。
★ Metadata元数据用来描述和引用CTS定义的类型元数据以一种独立于任何语言的形式存储正是元数据赋予了组建自描述的能力。
★ CLSCommon Language Specification通用语言规范是用以确保所有CLI语言能够互操作的一组规则它定义了所有CLI语言都必须支持的一个最小功能集一个CTS的子集。各CLI语言可以选择自己对CTS的一部分的映射但是为了确保不同语言的交互至少应该支持CLS所定义的最小功能集。
★ VESVirtual Execution System虚拟执行系统为CLI程序提供了一个在各种可能的平台上加载和执行托管代码的虚拟机环境只是一个规范比如微软和momo就各有自己的实现。.NET的CLR的JIT和GC应该属于此范围。
.NET Framework是微软对CLI的一个实现当然也是目前最好的实现.NET Framework主要包含CLR和BCLCLR实时通用语言是核心也即CLI的实现BCL是一套通用的代码库可以被所有的.NET语言C#, VB.NET, C/CLI程序所使用。Visual C2005是C/CLI的实现。
二、什么是C/CLI 其实C/CLI除了包含ISOC和CLI扩展它之所以强大的更重要的原因就是它实现了ISOC和.NET的无缝连接。C/CLI支持对本地ISOC编程和.NET托管编程的无缝集成不是简单的混合不仅能够像.NET调用windows API一样通过P/Invoke来实现函数互调而且可以实现类型class级和ISOC和.NET类库的相互使用更强的是能够实现类型的混合。为了实现无缝连接绝大多数的以前的ISO C代码编译后将得到托管代码部分不能编译为托管IL的采用P/Invoke调用实现。代码托管但是数据并不托管原来ISOC中本地堆内的数据仍位于本地堆中。
C/CLICLI:Common Language Infrastructure是一门用来代替C托管扩展下文使用MC指代新的语言规范。重新简化了C托管扩展的语法提供了更好的代码可读性。和微软.NET的其他语言一样微软向ECMA提交了C/CLI的标准。C/CLI现在可以在Visual C 2005上开发。C/CLI的部分特性已经申请了专利。
三、C/CLI给我们提供了什么
① 优雅流畅的语法和文法--C/CLI为C开发人员书写托管代码提供了一种非常自然的感觉并且它提供了非托管代码到托管代码的平滑过度。以前所谓的双重底线问题现在已经荡然无存。
② 一流的CLI支持--CLI特色例如属性、碎片集合和属类得到了直接支持此外C/CLI还准许将这些特色用于本地非托管的类。
③ 一流的C类支持--C特色例如模板和析构函数对于拖管和非拖管类继续有效。实际上C/CLI是你可以表面上在栈或C本地堆上声明一个.NET类型唯一的.NET语言。
④ 在.NET与C之间的沟壑上架起了一座桥梁--C开发人员在抨击BCL时不再象离开水的鱼。
⑤ C/CLI编译器产生的可执行文件完全是可校验的。
四、使用C/CLI我们可以做什么
可以简单的从它所包含的三部分内容来解释
① ISOC是C/CLI对CLI扩展的基础C/CLI对以前的ISOC部分完全进行了保留完全兼容所以ISOC可以做的现在C/CLI仍然可以继续那有人说这个就是ISOC那么我也告诉你是C/CLI, 因为它是被编译为IL代码这时我们可以用来开发游戏和图形处理软件等但是如果是要开发系统或底层这时需要将代码编译为本地代码其实这时的C/CLI就是ISOC了
② 对CLI的.NET实现的扩展这部分我们可以充分地使用.NET所带来的优势比如庞大的类库和高效的UI快速开发能力
③ ISOC和.NET的集成通过这部分更好地补充了以前的本地代码和.NET代码的交互的能力降低的集成的难度使得可以更加充分地利用各语言和开发人员的优势。
五、学习C/CLI所需要的基础 C/CLI包含了ISOC和对其的.NET的扩展看这两部分一个是ISOC另一个是在.NET的扩展可见基础就是ISOC这也正是我这里指出的本系列所要求的基础。
前面虽然提到C/CLI包含ISOC和其扩展但是考虑到ISOC是个很大的内容和已经存在有大量的书籍介绍所以本系列着重介绍ISOC对.NET的扩展部分。 C/CLI是静态C对象模型到CLI的动态组件对象编程模型的捆绑或者说C/CLI是ISOC在.NET的扩展是ISOC和.NET的无缝结合。简而言之它就是你如何用C在.NET中编程而不是C#或Visual Basic.NET。 本文来自CSDN博客转载请标明出处http://blog.csdn.net/Eric_Jo/archive/2009/05/14/4184916.aspx
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88632.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!