首页 > 技术文章 > ATL基础

aoun 2014-06-15 13:38 原文

ATL: Active Template Library(活动模板库)

  一种开发框架,通过它可以快速建立基于COM的组件

 

基本特征:

  1.对低级别COM功能的内置式支持:IUnknown, 类工厂, self-registration

  2.支持IDL(interface definition language)

  3.对自定义Vtable接口的调度支持(marshaling)

  4.对自动化(IDispatch)和双向接口的支持(dual interfaces)

  5.用于开发ActiveX和OLE控件

 

ATL vs MFC/WTL(windows template framework)

如果开发控件ATL优先

如果开发有大量GUI的程序MFC/WTL优先

 

 

组件需要一个类工厂

 

 

为什么ATL更轻便?

因为从本质上说ATL是包含一些模板类的头文件,你只需要include这些头文件,类的实现就直接包含到你的工程里了,而不需要像MFC那样链接大量的DLL

 

 

当你选择DLL作为宿主,就可以选择Allow merging of proxy/stub code (代理/占位)这样可以少分配一个DLL文件

 

在对象向导里:

C++ names 是 C++实现类

CoClass 是 com 类的名称

客户程序使用CoClass 来调用组件

 

 

推荐阅读