关于ATL、ActiveX和COM之间的关系?解决办法

关于ATL、ActiveX和COM之间的关系??
他们之间到底是什么关系,怎么感觉书上好像说的都是同一件事

------解决方案--------------------
atl是一个类库,可以使用它进行com开发.
activex是com的一种实现方式.
com是一种规范.
------解决方案--------------------
activex就是实现了IOleObject、IDataObject、IOleInPlaceObject等某些特定接口的东东

而什么叫接口?就是符合COM规定的就叫接口。

ATL就是一种类库,是采用模板架构的,专门用于接口编程,大大节约编写代码的时间,用来编写activex当然是功能之一。ATL不仅仅可以用来写ActiveX,还可以用来写其他任何需要用到接口编程的东东。

当然你也可以MFC、VB或者C#等来编写Activex。
------解决方案--------------------
ActiveX可以用ATL,也可以用其他写,ATL只是写这种东西的一种方法而已。
既然ActiveX是COM的一种特例,那么ActiveX当然要比COM自己向导增加一些它特有的东西
探讨
atl是一个类库,可以使用它进行com开发.
activex是com的一种实现方式.
_______________________________________

那activex中有用到atl吗?
还有vc中貌似有提供ActiveX向导和ATL向导,
这两个向导开发的com组件由什么不同吗

------解决方案--------------------
目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框架在用于开发ActiveX控件的道路上走到了一起。
------解决方案--------------------
两套开发框架实现ACTIVEX的方式不一样,任何一种都可以,按需选择吧
------解决方案--------------------
com 是规范,是一种标准,相当于法规一样,对于程序只有遵守了com规范才能称为com组件

activex 是遵守com规范的一种程序,是com规范的的具体实现

atl 是一套特定的库,首先是一套库,类似 c/c++ 的运行时库,mfc,是完成特定功能的代码组合;而特别之处就是,atl 是按照com规范实现的一套库,可以用于开发 activex
------解决方案--------------------
探讨

引用:
目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框架在用于开发ActiveX控件的道路上走到了一起。

还是没有明白为什么会有两个向导,
ActiveX 向导建……

------解决方案--------------------
探讨

引用:
两套开发框架实现ACTIVEX的方式不一样,任何一种都可以,按需选择吧

那两种有什么区别吗,或者他们各用在什么地方,
有什么优劣

------解决方案--------------------
VC中好像默认用MFC制造Activex组件,就是Activex向导。
而在那里也有ATL制造Activex组件的向导

其实我觉得应该分清楚,要不然容易误导。
在VS上面就分得比较清楚。

个人理解而已。