加深对组件的理解

来源:互联网 发布:阿里云服务器 cdn报价 编辑:程序博客网 时间:2024/04/19 22:45

开发软件首先确定开发平台,如果是 win32开发平台,那么会有微软的.net体系,COM体系,以及微软的开发方法。

win32 SDK 会有很多头文件,和API可以使用,用它可以创建例如COM体系的组件,我们可以借助Visual C++ 来很快速的开发

COM组件,Axtive服务器端组件,等等,让客户机好像调用本机上的组件服务一样,很方便。

 

Axtive组件,例如Simple5.Common 这个Simple5.Common是ProgID ,是字符串形式的,方便用户记忆,每一个组件都有CLSID,每一个接口都有一个IID,这是计算机区分组件和接口的唯一标识。

因为众多函数归为一个接口,这个接口最好实现7个以内的函数,也就是实现7个以内的功能,否则会很乱,

可以实现多个接口。

 

为什么COM组件能够跨语言,因为COM组件都是编译成二进制代码,函数也都是编译成二进制的地址,直接将函数指针放到

VTAB里面,就可以了,然后将VTAB的首指针赋值给IUnkown,对于按照功能分类的VTAB,每个VTAB的前三个函数地址一定得是QueryInterface , AddRef ,Release ,和主VTAB对应这就将函数串起来了。

 

 

原创粉丝点击