当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:56:00  来源:本站整理

<b>完善的C++:C++/CLI</b>[VC/C++编程]

赞助商链接



  本文“<b>完善的C++:C++/CLI</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

什么是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举行开辟的重要底子.

  阅读导航

  学习C++/CLI的办法
   在计划C++/CLI语言中触及三个方面问题,这一样贯彻于全部的其他程序开辟语言:一是语言级的语法向底层通用范例系统(简称CTS)的映射;二是向程序开辟人员供应的CLI的底层细节构造的级别挑选;三是超越CLI的直接支持,供应额外的功效性函数的挑选.

  从C++/CLI到CTS的映射?
   利用C++/CLI编程时间理解底层的CTS非常重要.CTS包含以下三种常用类的范例:

  1、多态引用范例,这恰是关于全部担当类所要利用的.

  2、非多态值范例,这用于及时高效的具体范例,比方数值范例.

  3、抽象的接口范例,这用于定义一个操作集,也可以用于实现接口的引用或值范例调集.

  CLI的细节
   计划一个CLI语言时第二个必必要考虑的问题是将CLI的底层履行情势融入到语言的细节级别.这种语言用于办理什么问题?这种语言能否有必须的工具来办理这些问题?这种语言大概吸引什么样的程序开辟人员?

  存在的问题
   在垃圾汇集器扫描收缩状况下,位于托管堆上的任何对象非常大概面对重新定位问题.指向对象的指针可以及时跟踪并改正.开辟人员不能自己手动跟踪,所以,假如你获许获得一个大概位于托管堆上的值范例的地址时,除了本地指针外,还需求有一个跟踪形状的指针.

  额外增添的功效
   在垃圾汇集器扫描收缩状况下,位于托管堆上的任何对象非常大概面对重新定位问题.指向对象的指针可以及时跟踪并改正.开辟人员不能自己手动跟踪,所以,假如你获许获得一个大概位于托管堆上的值范例的地址时,除了本地指针外,还需求有一个跟踪形状的指针.

  小结

  C++/CLI代表托管与本地编程的结合,这种综合已经通过元级相对独立但又彼此平等地组件和二进制元素得到了完成,包含糊合情势(本地和CTS范例的元级混合,还有一个本地及CLI对象文件的二进制混合),纯情势(本地和CTS范例的源代码级混合,全部的都被编译为CLI对象文件),本地分类(可以通过一个特定的打包类来保持CTS范例),和CTS分类(可以保持本地范例为指针).

  当然,C++/CLI开辟人员也可以单独利用CLI范例来编程,并通过这种方法来供应伺服状况下的可校验代码,比方可以作为SQL Server2005的一个SQL存储历程.

  目前,还是回到这个问题上来,什么是C++/CLI?它是举行.NET编程情势的最佳切入点.关于C++/CLI,有一个来自C++的迁移途径,它不但包含C++的底层底子,并且也需求C++编程经验,关于这些,我感到非常称心.


  以上是“<b>完善的C++:C++/CLI</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .