如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
VisualC++的路径选择集成本地代码与托管代码源代码集成对象模型集成函数库模块集成COM组件集成泛型与模板集成大型框架集成Windows平台软件开发VC++的路径选择将C++/CLI视作对C++的良性扩展C++如何扩展支持.NET?C++CLI=C++/CLI将CLI特性用于ISO-C++类型C++/CLI的现状:C++/CLI是连通C++与.NET的桥梁C++/CLI集成技术图谱使用C++Interop,可以将ISO-C++代码单独编译为托管代码,也可以将ISO-C++与托管的C++/CLI代码放在同一个文件中编译,互相之间进行无缝的访问。C++Interop技术保证了所有的ISO-C++代码经过cl/clr编译后行为保持不变。绝大多数ISO-C++代码编译后将得到托管代码,即IL代码。部分不能编译为IL代码的采用P/Invoke调用实现,生成文件为一个包含本地机器指令和IL指令的混合程序集。C++Interop会透明地处理其中的类型Marshal,是最为灵活和高效的互操作方案。混合程序集源代码集成CodeExampleISO-C++对象模型和CLI对象模型集成是C++/CLI集成技术中最为复杂,也最彰显潜力的地方。C++/CLI在对象模型集成过程中几个突出的问题C++/CLI只支持对托管引用类型进行垃圾收集服务,不支持对ISO-C++本地类型的垃圾收集服务。垃圾收集导致了托管对象地址的不稳定,与ISO-C++本地对象稳定的地址形成鲜明对比。C++/CLI中的托管对象的内存布局也和本地对象的内存布局有明显的不同。C++/CLI中类型的多态机制(虚拟)也不同于本地类型的多态机制。对象模型结构的集成(1)在本地对象中包含托管对象classNativeClass{Stringtext;};将本地对象放在托管堆中string^hText=gcnewstring;对象模型集成CodeExampleP/Invoke平台调用COM互操作泛型与模板集成大型应用程序框架集成Windows平台软件开发何去何从谢谢大家!