[COM/ATL]COM组件编程——初步了解
来源:互联网 发布:厦门蓝象网络骗局 编辑:程序博客网 时间:2024/05/22 15:20
什么是COM组件
COM是Component Object Model(组件对象模型)的缩写。COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成
什么是GUID
globally unique identifier(GUID——全球唯一标识符) 分配给COM对象的标识符(ID)。它通过一种复杂的算法生成,该算法保证所有 的 COM对象都有着唯一的ID,而不会出现名字冲突。
COM组件编程
程序的编写模式
- 结构化编程:代表C语言,自顶向下的编程方式,根据软件的流程或者功能划分模块,完成程序的编写。
- 面向对象编程:代表C++语言,引入类的概念,提出了封装,继承,多态等特性。
- 面向组件编程:可维护性和可复用性,类似于搭积木的开发方式。
组件:组件实际上是一些可以执行的二进制代码,表现形式可以是dll,也可以使exe。
组件特点:1.二进制代码,可以执行 2.使用灵活方便 3.和编程语言无关
组件的标准:COM提供了组件编写的标准,任何语言编写组件时,都要遵循这个标准。
组件接口:向外对使用者提供组件的功能。
COM接口
接口:C语言,接口就是函数;C++语言,接口就是累的成员函数;COM接口,一些纯虚函数的集合。
C++接口的实现:1.定义纯虚函数(接口) 2.基于接口,派生实现类 3.创建实现类的对象(CreateInstance()函数) 4.使用接口返回创建的对象
DLL接口的实现:代码既不用重新编写,也不用重新编译
实例
//新建MFC的Interface工程,删除掉自动生成的文件(除了stdafx.h和stdafx.cpp),并设置 属性->链接器->系统->子系统 控制台 (/SUBSYSTEM:CONSOLE)// Interface.cpp : 定义应用程序的类行为。 #include "stdafx.h" #include <ObjBase.h>//--------功能的提供者interface CMath//接口,相等于纯虚类{public:virtual int Add(int nAdd1,int nAdd2)=0;virtual int Sub(int nSub1,int nSub2)=0;};class CImpMath:public CMath{public: virtual int Add(int nAdd1,int nAdd2);virtual int Sub(int nSub1,int nSub2);};int CImpMath::Add(int nAdd1,int nAdd2){return (nAdd1+nAdd2);}int CImpMath::Sub(int nSub1,int nSub2){return (nSub1-nSub2);}class CImpMath2:public CMath{public: virtual int Add(int nAdd1,int nAdd2);virtual int Sub(int nSub1,int nSub2);};int CImpMath2::Add(int nAdd1,int nAdd2){return (nAdd1+nAdd2+100);}int CImpMath2::Sub(int nSub1,int nSub2){return (nSub1-nSub2-100);}CMath* CreatInstance(){return new CImpMath2;} //功能的使用者void main(){int nSum[2]={0};//一般的调用方式CImpMath2 math;nSum[0]=math.Add(100,100);//使用接口的调用方式,依赖的是接口而不是具体的实现CMath* pMath=CreatInstance();nSum[1]=pMath->Add(100,100);printf("nSum[0]=%d ; nSum[1]=%d",nSum[0],nSum[1]);//nSum[0]=300 ; nSum[1]=300}
- [COM/ATL]COM组件编程——初步了解
- COM组件初步了解
- ATL COM组件开发——VS2010
- com ATL开发Com组件
- ATL COM 组件 调用
- atl com组件调用
- COM组件编程—理论知识
- COM组件编程—数据类型
- COM组件编程—自动化
- COM组件开发(六)——使用ATL开发COM组件
- ATL 初探com编程
- 初步了解com
- ATL开发COM组件心得
- 简单的ATL COM组件
- 怎么注册COM,ATL组件
- COM组件(ATL篇)
- COM 组件设计与应用(五)——用 ATL 写第一个组件
- COM 组件设计与应用(六)——用 ATL 写第一个组件
- 作者 刘韧 2013-4-10 19:24 评论(16) 巨人网络 史玉柱 大中小 虎嗅注:这是刘韧五年前对史玉柱的专访,回顾了史玉柱从童年到高校,从下海做汉卡到盖巨人大厦,再从惨败到脑白金的东
- hive基础
- Linux信号(signal) 机制分析
- PopUpAnchor control
- 程序员妻子自述:那些程序员教给我的
- [COM/ATL]COM组件编程——初步了解
- Mahout介绍
- Ajax的基本运作方式
- 10047 - The Monocycle//bfs
- POJ1279(求多边形内核的面积)
- 三层架构初涉
- linux进程间通信之信号量(semaphore)
- Android 自定义Adapter动态更新ListView视图
- 2.struts2 数据库里取数据