DEV349Visual C++ 2005 无缝集成,无限潜力.ppt
《DEV349Visual C++ 2005 无缝集成,无限潜力.ppt》由会员分享,可在线阅读,更多相关《DEV349Visual C++ 2005 无缝集成,无限潜力.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DEV349Visual C+ 2005 无缝集成,无限潜力,李建忠 微软特约讲师 上海祝成科技,VC+ 2005的内核语言为C+/CLI,是目前.NET平台上能力最接近IL代码的系统级语言 无缝集成本地代码与托管代码,支持混合程序集 同时支持CLR泛型与ISO-C+模板 支持多种框架类库,Win32 , MFC , COM, STL, ATL, .NET 框架类库 高度优化的代码,是所有.NET语言中优化程度最高的代码 C+/CLI不是ISO-C+与C#的简单相加,而是一门全新的语言!,VC+ 2005 集成潜力,C+ CLR= Visual C+ 2005,C+ 技术特点: 静态化的对象模
2、型 对象空间和生成文件的高度优化 确定性内存收集 特定平台目标编译 强大的静态模板 灵活的指针与引用 强大的STL, MFC, ATL,CLR 技术特点: 动态化的组件模型 丰富的元数据 自动垃圾收集 JIT编译,跨平台 运行时泛型 安全的对象句柄,数组,委托(函数指针) 强大的.NET 框架类库,Visual C+ 2005,C+/CLI集成技术图谱,使用C+ Interop,可以将ISO-C+代码单独编译为托管代码,也可以将ISO-C+与托管的C+/CLI代码放在同一个文件中编译,互相之间进行无缝的访问。 C+ Interop 技术保证了所有的ISO-C+代码经过cl/clr编译后行为保持
3、不变。 绝大多数ISO-C+代码编译后将得到托管代码,即IL代码。部分不能编译为IL代码的采用P/Invoke调用实现,生成文件为一个包含非托管机器指令和IL指令的混合程序集。 C+ Interop会透明地处理其中的类型Marshal,是最为灵活和高效的互操作方案。,使用C+ Interop集成源代码,混合程序集,源代码集成Code Example,ISO-C+对象模型和CLI对象模型集成是C+/CLI集成技术中最为复杂,也最彰显潜力的地方。 C+/CLI在对象模型集成过程中几个突出的问题 C+/CLI只支持对托管引用类型进行垃圾收集服务,不支持对ISO-C+本地类型的垃圾收集服务。 垃圾收集
4、导致了托管对象地址的不稳定,与ISO-C+本地对象稳定的地址形成鲜明对比。 C+/CLI中的托管对象的内存布局也和本地对象的内存布局有明显的不同。 C+/CLI中类型的多态机制(虚拟)也不同于本地类型的多态机制。,集成ISO-C+与CLI对象模型,对象模型结构的集成(1),在托管对象中包含本地对象的指针 ref class ManagedClass string* pText; ;,在本地对象中包含托管对象的指针 class NativeClass gcroot pText; ;,在托管对象中包含本地对象的指针,或者在本地对象中包含托管对象的指针,从而可“连通”托管世界和本地世界,实现两个代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DEV349Visual C+ 2005 无缝集成 无限潜力 无缝 集成 无限 潜力
限制150内