fbpx
维基百科

活动模板库

活动模板库Active Template Library (ATL))是一個以C++模板技術的類的集合,是Microsoft為了簡化組件對象模型(COM)的程式設計而發佈的。 COM旨在允許開發者利用Visual C++創造各種各樣的元件,包括OLE Automation伺服器,與ActiveX控制項。[1][2] Patterned after the Standard Template Library (STL), ATL 包含一個物件精靈(object wizard),當設定好主要的物件結構後,能夠產生快速與較小的程式。

通过MFC可以提供互联网市场所需的控件,但是市场上还需要可以从网络上下载的轻量级控件。MFC程序通常较大而且需要支持DLL。 [3] ATL允许创建不需要支持DLL的更小的控件,所以ATL是一种在COM控件环境下MFC的轻量级替代物。

头文件 编辑

  • afxwin.h
  • afximpl.h 实现了一套模板库,如CArray, CList, CMap等。因为在发布时STL尚未进入C++语言标准,因此ATL自行开发实现了一套。

编译选项 编辑

ATL定义三个宏来来影响生成的COM服务器的优化。

  • _ATL_MIN_CRT 服务器不链接标准的C/C++运行库,并且ATL提供了函数malloc、realloc、new和delete的一个实现。不能调用任何其他的C/C++运行库的函数。_mainATL向导生成的ATL工程为所有的Release版本的定义了_ATL_MIN_CRT,但是没有为Debug版本定义这个符号宏。
  • _ATL_DLL 服务器动态链接工具函数库atl.dll
  • _ATL_STATIC_REGISTRY 服务器静态链接对组件注册的支持

Debug配置没有定义上述三个符号宏。Release MinSize配置定义了_ATL_MIN_CRT和_ATL_DLL。Release MinDependency配置定义了_ATL_MIN_CRT和_ATL_STATIC_REGISTRY。

相關條目 编辑

历史 编辑

  • ATL版本3.0 (Visual Studio 6.0)
  • ATL版本7.0 (Visual Studio 2003)
  • ATL版本8.0 (Visual Studio 2005)

支持类 编辑

ATL包含了许多RAII类以简化对COM类型的管理。常用的有:

  • CComPtr<T>[4]通用智能指针
  • CComBSTR[5] BSTR包装
  • CComVariant[6] VARIANT包装
  • CComSafeArray<T>[7] SAFEARRAY包装

编译器COM支持类 编辑

虽然不是ATL的正式组成部分,Microsoft Visual C++包含额外的C++ RAII类以简化对COM类型的管理,可替代或配合ATL中对应的部分:

  • _com_ptr_t[8]装饰COM接口的智能执政,前缀以"Ptr"。
  • _bstr_t[9] BSTR包装器
  • _variant_t[10] VARIANT包装器
  • _com_error[11] HRESULT包装器

注意从Visual Studio 2012起,编译器COM支持类不再包含SAFEARRAY包装器。

參考資料 编辑

  1. ^ Grimes, Richard. ATL and COM. ATL COM 1st edition. Wrox Press. 1998: pg. 6. ISBN 1-86100-249-1. 
  2. ^ Grimes, Richard. Building and calling a COM object using ATL. Beginning ATL 3 COM Programming 1st edition. Wrox Press. 1999: pg. 63. ISBN 978-1-86100-120-7. 
  3. ^ Williams, Mickey. Active Documents. Visual C++ 6 Unleashed 1st edition. Sams. 2000: pg. 733. ISBN 978-0-672-31241-0. 
  4. ^ Microsoft MSDN: CComPtr Class (页面存档备份,存于互联网档案馆
  5. ^ Microsoft MSDN: CComBSTR Class (页面存档备份,存于互联网档案馆
  6. ^ Microsoft MSDN: CComVariant Class (页面存档备份,存于互联网档案馆
  7. ^ Microsoft MSDN: CComSafeArray Class (页面存档备份,存于互联网档案馆
  8. ^ Microsoft MSDN: _com_ptr_t Class (页面存档备份,存于互联网档案馆
  9. ^ Microsoft MSDN: _bstr_t Class (页面存档备份,存于互联网档案馆
  10. ^ Microsoft MSDN: _variant_t Class (页面存档备份,存于互联网档案馆
  11. ^ Microsoft MSDN: _com_error Class (页面存档备份,存于互联网档案馆

活动模板库, active, template, library, 是一個以c, 模板技術的類的集合, 是microsoft為了簡化組件對象模型, 的程式設計而發佈的, com旨在允許開發者利用visual, 創造各種各樣的元件, 包括ole, automation伺服器, 與activex控制項, patterned, after, standard, template, library, 包含一個物件精靈, object, wizard, 當設定好主要的物件結構後, 能夠產生快速與較小的程式, 通过mfc可以提. 活动模板库 Active Template Library ATL 是一個以C 模板技術的類的集合 是Microsoft為了簡化組件對象模型 COM 的程式設計而發佈的 COM旨在允許開發者利用Visual C 創造各種各樣的元件 包括OLE Automation伺服器 與ActiveX控制項 1 2 Patterned after the Standard Template Library STL ATL 包含一個物件精靈 object wizard 當設定好主要的物件結構後 能夠產生快速與較小的程式 通过MFC可以提供互联网市场所需的控件 但是市场上还需要可以从网络上下载的轻量级控件 MFC程序通常较大而且需要支持DLL 3 ATL允许创建不需要支持DLL的更小的控件 所以ATL是一种在COM控件环境下MFC的轻量级替代物 目录 1 头文件 2 编译选项 3 相關條目 4 历史 5 支持类 6 编译器COM支持类 7 參考資料头文件 编辑afxwin h afximpl h 实现了一套模板库 如CArray CList CMap等 因为在发布时STL尚未进入C 语言标准 因此ATL自行开发实现了一套 编译选项 编辑ATL定义三个宏来来影响生成的COM服务器的优化 ATL MIN CRT 服务器不链接标准的C C 运行库 并且ATL提供了函数malloc realloc new和delete的一个实现 不能调用任何其他的C C 运行库的函数 mainATL向导生成的ATL工程为所有的Release版本的定义了 ATL MIN CRT 但是没有为Debug版本定义这个符号宏 ATL DLL 服务器动态链接工具函数库atl dll ATL STATIC REGISTRY 服务器静态链接对组件注册的支持Debug配置没有定义上述三个符号宏 Release MinSize配置定义了 ATL MIN CRT和 ATL DLL Release MinDependency配置定义了 ATL MIN CRT和 ATL STATIC REGISTRY 相關條目 编辑ATL Server Component Object Model COM Microsoft Foundation Classes MFC OLE Automation Standard Template Library STL Windows Template Library WTL Microsoft Platform SDK历史 编辑ATL版本3 0 Visual Studio 6 0 ATL版本7 0 Visual Studio 2003 ATL版本8 0 Visual Studio 2005 支持类 编辑ATL包含了许多RAII类以简化对COM类型的管理 常用的有 CComPtr lt T gt 4 通用智能指针 CComBSTR 5 BSTR包装 CComVariant 6 VARIANT包装 CComSafeArray lt T gt 7 SAFEARRAY包装编译器COM支持类 编辑虽然不是ATL的正式组成部分 Microsoft Visual C 包含额外的C RAII类以简化对COM类型的管理 可替代或配合ATL中对应的部分 com ptr t 8 装饰COM接口的智能执政 前缀以 Ptr bstr t 9 BSTR包装器 variant t 10 VARIANT包装器 com error 11 HRESULT包装器注意从Visual Studio 2012起 编译器COM支持类不再包含SAFEARRAY包装器 參考資料 编辑 Grimes Richard ATL and COM ATL COM 1st edition Wrox Press 1998 pg 6 ISBN 1 86100 249 1 引文格式1维护 冗余文本 link Grimes Richard Building and calling a COM object using ATL Beginning ATL 3 COM Programming 1st edition Wrox Press 1999 pg 63 ISBN 978 1 86100 120 7 引文格式1维护 冗余文本 link Williams Mickey Active Documents Visual C 6 Unleashed 1st edition Sams 2000 pg 733 ISBN 978 0 672 31241 0 引文格式1维护 冗余文本 link Microsoft MSDN CComPtr Class 页面存档备份 存于互联网档案馆 Microsoft MSDN CComBSTR Class 页面存档备份 存于互联网档案馆 Microsoft MSDN CComVariant Class 页面存档备份 存于互联网档案馆 Microsoft MSDN CComSafeArray Class 页面存档备份 存于互联网档案馆 Microsoft MSDN com ptr t Class 页面存档备份 存于互联网档案馆 Microsoft MSDN bstr t Class 页面存档备份 存于互联网档案馆 Microsoft MSDN variant t Class 页面存档备份 存于互联网档案馆 Microsoft MSDN com error Class 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 活动模板库 amp oldid 77665982, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。