COM的简要说明

来源:互联网 发布:怎么共享网络密码 编辑:程序博客网 时间:2024/04/28 04:02

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。