平特心水报图
新網絡營銷基礎與實踐

你的位置:首頁 >網絡營銷 >ATL

ATL

一、含義

   ATL是ActiveX Template Library 的縮寫,它是一套C++模板庫。使用ATL能夠快速地開發出高效、簡潔的代碼(Effective and Slim code),同時對COM組件的開發提供最大限度的代碼自動生成以及可視化支持。為了方便使用,從Microsoft Visual C++ 5.0版本開始,Microsoft把ATL集成到Visual C++開發環境中。1998年9月推出的Visual Studio 6.0 集成了ATL 3.0版本。目前,ATL已經成為Microsoft標準開發工具中的一個重要成員,日益受到C++開發人員的重視。

二、簡介

     自從1993年Microsoft首次公布了COM技術以后,Windows平臺上的開發模式發生了巨大的變化,以COM為基礎的一系列軟件組件化技術將Windows編程帶入了組件化時代。廣大的開發人員在為COM帶來的軟件組件化趨勢歡欣鼓舞的同時,對于COM開發技術的難度和煩瑣的細節也感到極其的不便。COM編程一度被視為一種高不可攀的技術,令人望而卻步。開發人員希望能夠有一種方便快捷的COM開發工具,提高開發效率,更好地利用這項技術。
 
  針對這種情況,Microsoft公司在推出COM SDK以后,為簡化COM編程,提高開發效率,采取了許多方案,特別是在MFC(Microsoft Foundation Class)中加入了對COM和OLE的支持。但是隨著Internet的發展,分布式的組件技術要求COM組件能夠在網絡上傳輸,而又盡量節約寶貴的網絡帶寬資源。采用MFC開發的COM組件由于種種限制不能很好地滿足這種需求,因此Microsoft在1995年又推出了一種全新的COM開發工具ATL。

三、ATL給開發人員帶來的益處

     1、提高了自動化程度,縮短了開發時間。MFC采用面向對象的方式將COM的基本功能封裝在若干MFC的C++類中,開發者通過繼承這些類得到COM支持功能。為了使派生類方便地獲得COM對象的各種特性,MFC中有許多預定義宏,這些宏的功能主要是實現COM接口的定義和對象的注冊等通常在COM對象中要用到的功能。開發者可以使用這些宏來定制COM對象的特性。

    2、在MFC中還提供對Automation 和 ActiveX Control的支持,對于這兩個方面,Visual C++也提供了相應的AppWizard和ClassWizard支持,這種可視化的工具更加方便了COM應用的開發。

四、ATL的基本目標

    首先、ATL的基本目標就是使COM應用開發盡可能地自動化,這個基本目標就決定了ATL只面向COM開發提供支持。目標的明確使ATL對COM技術的支持達到淋漓盡致的地步。對COM開發的任何一個環節和過程,ATL都提供支持,并將與COM開發相關的眾多工具集成到一個統一的編程環境中。對于COM/ActiveX的各種應用,ATL也都提供了完善的Wizard支持。所有這些都極大地方便了開發者的使用,使開發者能夠把注意力集中在與應用本身相關的邏輯上。

   其次,ATL因其采用了特定的基本實現技術,擺脫了大量冗余代碼,使用ATL開發出來的COM應用的代碼簡練高效,即所謂的“Slim Code”。ATL在實現上盡可能采用優化技術,甚至在其內部提供了所有C/C++開發的程序所必須具有的C啟動代碼的替代部分。同時ATL產生的代碼在運行時不需要依賴于類似MFC程序所需要的龐大的代碼模塊,包含在最終模塊中的功能是用戶認為最基本和最必須的。這些措施使采用ATL開發的COM組件(包括ActiveX Control)可以在網絡環境下實現應用的分布式組件結構。

 第三,ATL的各個版本對Microsoft的基于COM的各種新的組件技術如MTS、ASP等都有很好的支持,ATL對新技術的反應速度大大快于MFC。ATL已經成為Microsoft支持COM應用開發的主要開發工具,因此COM技術方面的新進展在很短的時間內都會在ATL中得到反映。這使開發者使用ATL進行COM編程可以得到直接使用COM SDK編程同樣的靈活性和強大的功能。

五、ATL 模塊類

    ATL 的早期版本使用 CComModule。在 ATL 7.0 中,CComModule 功能被若干個類所取代:

CAtlBaseModule 包含大多數使用 ATL 的應用程序所需的信息。包含模塊和資源實例的 HINSTANCE。CAtlComModule 包含 ATL 中的 COM 類所需的信息。CAtlWinModule 包含 ATL 中的窗口化類所需的信息。CAtlDebugInterfacesModule 包含接口調試支持。CAtlModule 下列 CAtlModule派生的類被自定義為包含特定應用程序類型中所需的信息。這些類中的大部分成員都可以被重寫:CAtlDllModuleT 在 DLL 應用程序中使用。為標準導出提供代碼。CAtlExeModuleT 在 EXE 應用程序中使用。提供 EXE 中所需的代碼。CAtlServiceModuleT 為創建 Windows NT 和 Windows 2000 服務提供支持。

網絡營銷詞典內容均由網友提供,僅供參考。

平特心水报图 做软件的人怎么赚钱 3d综合走势图 黑龙江快乐10分预测 4887王中王鉄算盘开奖结果有 max泰拳中文官网网址 必赢客软件是骗局揭秘 中国体育彩票官网投注限制 广西11选5和值走势 万能四星大底稳赚计划 时时彩幸运农场