活動枋庫
外觀
活動枋庫(Active Template Library(ATL))是一个以 C + + 模板技術的類的集合,是 Microsoft 為著簡化組件的模型(COM)的程式設計發佈的。COM 旨佇允准開發者利用 Visual C + + 創造各種各樣的元件,包括講 OLE Automation 侍服器,佮 ActiveX 控制項。 Patterned after the Standard Template Library ( STL ) , ATL 包含一个物件精靈(object wizard), 當設定好主要的物件結構了後,會當產生快速佮較細項的程式。
通過 MFC 會當提供網際網路市場所需要的控制項,毋過市場上猶需要會當對網路頂下載的輕量級控制項。MFC 程式通常較大而且需要支援 DLL。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 Server
- Component Object Model ( COM )
- Microsoft Foundation Classes ( MFC )
- OLE Automation
- Standard Template Library ( STL )
- Windows Template Library ( WTL )
- Microsoft Platform SDK
歷史
- ATL 版本三更零 ( Visual Studio 六板零 )
- ATL 版本七堵空 ( Visual Studio 兩千空三 )
- ATL 版本八堵空 ( Visual Studio 兩千空五 )
支援類
ATL 包含是講真濟 RAII 類以簡省著 COM 類型的管理。捷用的有:
- ` CComPtr < T > ` 通用智慧型指標
- ` CComBSTR ` BSTR 包裝
- ` CComVariant ` VARIANT 包裝
- ` CComSafeArray < T > ` SAFEARRAY 包裝
編譯器 COM 支援類
雖然毋是 ATL 的正式組成部份,Microsoft Visual C + + 包含額外的 C + + RAII 類以簡省著 COM 類型的管理,會當代替閣配合 ATL 中對應的部份:
- ` _ com _ ptr _ t ` 妝娗 COM 介面的智慧型執政,字條以 " Ptr "。
- ` _ bstr _ t ` BSTR 包裝器
- ` _ variant _ t ` VARIANT 包裝器
- ` _ com _ error ` HRESULT 包裝器注意對 Visual Studio 二千空一十二起,編譯器 COM 支援類袂閣再包含 SAFEARRAY 包裝器。