COM的简要说明

COM是一种编写软件组件的新方法。它使你能够创建动态链接到运行时上的可复用的软件模块。每一个COM对象都有一个或多个做实际工作的接口。

这些接口不过是方法或经由虚函数表指针引导的函数的集合。

 

由于使用了GUID每一个COM对象和接口都是被唯一标识的。当然,你必须为你的COM对象生成GUID。

你使用GUID或IID访问COM对象、接口以及与其他程序员共享COM对象和接口。这些接口无非是通过一个虚函数表指针来进行引用的方法或

函数的集合(就是说有一个指针指向一个虚函数表)。

 

如果你创建一个新的COM对象来升级旧的,你必须与新接口一起实现旧接口。这是一条非常重要的原则:

所有基于COM对象的程序无须重新编译,在新版本的COM对象下仍将正常运行(你要做的仅仅是给你的用户新的COM对象)。

 

COM是一个能够被任何语言在任何机器上实施的通用技术规范。唯一的要求是COM对象的二进制形式必须于由MicrosoftVC编译器生成的虚类的二进制形式相同。

然而COM可以使用在别的机种上,像Mac,SGI等等。只要它们遵守建立和使用COM对象的规范。

最后,COM通过其组件级通用架构,增进了创建大型计算机程序(数十亿行规模)的可能。而且当然,DirectX、OLE,和AcriveX都是基于COM的,所以你需要理解COM。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值