活动模板库
来自维基百科,自由的百科全书
来自维基百科,自由的百科全书
活动模板库(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的轻量级替代物。
ATL定义三个宏来来影响生成的COM服务器的优化。
Debug配置没有定义上述三个符号宏。Release MinSize配置定义了_ATL_MIN_CRT和_ATL_DLL。Release MinDependency配置定义了_ATL_MIN_CRT和_ATL_STATIC_REGISTRY。
ATL包含了许多RAII类以简化对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包装器。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.