知行社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1824|回复: 0
收起左侧

完美的C++:C++/CLI

[复制链接]
:-(相见易得好久 发表于 2011-10-15 16:32 | 显示全部楼层 |阅读模式
作者:刘涛



  什么是C++/CLI呢?C++当然指的是Bjarne Stroustrup在BELL实验室发明的C++语言,它实现了运行时取得速度和尺寸最佳化的静态对象模型,然而它除了堆分配外不支持程序的动态修改,它准许无限地接近底层设备,但在程序运行过程中几乎无法操作活动类型,也无法操作与程序相关联的底层结构。Herb Sutter,C++/CLI的主要构造者之一,称C++是一门“混凝土”式的语言。

  CLI指的是通用语言结构,一种支持动态组件编程模型的多重结构,在许多情况下,这代表了一个与C++对象模型完全颠倒了的模式。一个时实的软件层,有效地执行系统,在底层操作系统与程序之间运行。操作底层的设备受到一定的限制,操作执行程序中的活动类型及与程序相关联的下部结构得到了支持。反斜杠(/)代表C++和CLI的捆绑,这个捆绑带来的细节问题是本文主要讨论的问题。

  所以,“什么是C++/CLI”问题的最初、最接近答案是:它是静态C++对象模型到CLI的动态组件对象编程模型的捆绑。简而言之,它就是你如何用C++在.NET中编程,而不是C#或Visual Basic.NET。象C#和CLI本身一样,C++/CLI正在ECMA(欧洲计算机制造商协会)主持下进行标准化,以最终符合ISO标准。

  实时通用语言(CLR)是CLI的微软版本,它非常适用于微软的Windows操作系统,相似地,Visual C++2005是C++/CLI的实现。

  作为第二个近似的答案,我认为C++/CLI是.NET编程模式与C++的结合,正如以前将模板与C++结合起来产生的泛型编程。所有这种结合中,企业所拥有的C++的投资以及开发人员使用C++的经验将得到保存,而这恰恰是使用C++/CLI进行开发的重要基础。


QQ|小黑屋|手机版|知行技术社区 ( 湘ICP备11020288号-1 )

GMT+8, 2020-9-29 15:07 , Processed in 0.013158 second(s), 8 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表