摘要:掌握C++对象模型底层知识的人都知道,C++利用虚函数的机制来实现运行期的多态。例如一个类申明如下:classA{public:A(){}~A(){}virtualvoidf1(){printf("Founctionf1called\n");}virtualvoidf2(){printf("Founctionf2called\n");}virtualvoidf3(){printf("Founctionf3called\n");}private:intn;};复制代码那么A对象在内存中的结构图大概如下: (缺失)如上图:可以看到A对象的
阅读全文
摘要:Author: ume Date:2012-02-21 自从微软推出.NET以来,COM技术就渐渐淡出人们的视野,然而这并不意味COM不再发挥作用,相反,COM非常重要。可以说.NET的实现离不开COM的支撑。COM是好东西,但是它太难了,不利于产品推广,于是微软只能在之上增加一层封装从而提高产品的易用性。对COM有所了解是很有必要的,希望这篇文章给你带来一点启发。1. COM的思想 开篇就讲COM的思想肯定让人泄气,因为它极有可能抽象空洞、晦涩难懂。换个角度来说,我觉得COM的思想仍然是需要自己去体会的,这里给出的不过是一个思考的线索而已,你大可不求甚解。 软件的开发是永无止境的,只要软件还
阅读全文
摘要:摘 要:COM(组件对象模型)为组件的开发和应用提供了一个标准平台。介绍了智能卡和其基于ATL(活动模板库)的 COM组件的实现,重点阐述其实现过程和实现流程,最后简述中间件的应用。该组件封装智能卡COS(片内操作系统),并以dll文件形式提供给用户,增强了组件的重用性,且方便系统升级和扩展。关 键 词:智能卡;组件对象模型;活动模板库;片内操作系统智能卡(Smart Card),即IC卡,它将存储和处理信息数据的芯片镶嵌于塑料基片中,具有标准信用卡大小。智能卡存储容量大、安全性高、寿命长、适应性强、应用范围广,但其最大的特点是:在保持安全的情况下,一卡多用。在现阶段,CPU卡是使用最广泛的智
阅读全文
摘要:一、COM组件的目标:COM组件的一个主要优势是:便于升级。要实现这个优势需要满足一下两个条件:1、运行时从客户程序动态加载和卸载,采用DLL技术可以实现。2、为了更好的突出DLL的优势,还需要信息隐藏,即封装性。二、COM组件的信息隐藏采用IUnknown接口来实现: 1、IUnknown接口功能简介:IUnknown意思是未知,即未知的接口。采用这个名字是为了简单起见,所有的COM接口都需要继承IUnknown,因此若某个客户拥有一个IUnknown接口的指针,也就不知道接口到底是什么类型的,只需要知道此接口可以用来查询其他接口。IUnknown接口有一个用来查询接口的函数QueryInt
阅读全文