跳至內容

活動枋庫

出自Taiwan Tongues 台語維基
於 2025年8月24日 (日) 04:05 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

活動枋庫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 包裝器。

參考資料