青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-250  評論-20  文章-55  trackbacks-0

本文假設你熟悉C++和COM。

摘要:
??? ATL——活動模板庫(The Active Template Library),其設計旨在讓人們用C++方便靈活地開發COM對象。ATL本身相當小巧靈活,這是它最大的優點。用它可以創建輕量級的,自包含的,可復用的二進制代碼,不用任何附加的運行時DLLs支持。
??? 由于COM技術良好的口碑,越來越多的程序員已經走進或正在走進COM的編程世界。它就像盛夏里的冰鎮啤酒,從來不會讓你失望。可惜作為一個C++程序員來說,C++從不與我分享COM的極致以及我對COM的情有獨鐘。
??? C++與COM之間若即若離,和平共處,一次又一次在每個對象中用同樣簡潔的幾行代碼實現IUnknown。我敢肯定將來C++編譯器和鏈接器會實現C++對象和COM對象之間自然 的無意識的對應和映射,目前這個環境只存在于實驗室中,因此它肯定不是一個你我今天可以購買的產品。眼下可得到的最接近這個環境的東西就是活動模板庫——ATL。

為什么使用ATL?
???
ATL是在單層(single-tier)應用逐漸過時,分布式應用逐漸成為主流這樣一個環境中誕生的, 它最初的版本是在四個C++頭文件中,其中有一個還是空的。它所形成的出色的構架專門用于開發現代分布式應用所需的輕量級COM組件。作為一個模塊化的標準組件,ATL不像MFC有厚重的基礎結構,省時好用的庫使得成百上千的程序員一次又一次輕松實現IUnknown 和IClassFactory。
??? ATL的構架并不打算包羅萬象,無所不能。其第一個版本對實現IUnknown,IClassFactory,IDispatch,IconnectionPointContainer及COM枚舉提供非常 到位的支持。第二個版本除了可以編寫ActiveX控件外,還對最初的第一個版本中ATL類進行了增強。ATL不提供集合(collections)和串(strings)的處理 ,它假設你用標準的C++庫進行這些處理;不支持ODBC——這個世界正在轉移到基于COM的不需要包裝的數據存取方式;不支持WinSock打包類--sockets本身也是新的東西;ATL也不支持完整的Win32 API打包類——ATL2.0的實現機制提供了對話框和WndProcs支持。此外ATL中沒有MFC中的文檔/視圖模型。取而代之的是ATL那更具伸縮性和靈活 性的通過COM接口(如ActiveX控件)與基于UI的對象之間的溝通模式。
??? 使用正確的工具非常關鍵。如果你正在編寫一個不可見的COM組件,那么ATL與MFC比起來,從開發效率,可伸縮性,運行時性能以及可執行文件大小各方面來看,ATL可能 都是最好的選擇。對于現代基于ActiveX控件的用戶界面,ATL所產生的代碼也比MFC更小更快。另一方面,與MFC的類向導相比,ATL需要更多的COM知識。ATL與STL一樣,對于單層應用沒什么幫助,而MFC在這方面保持著它的優勢。
??? ATL的設計在很大程度上來自STL的靈感,STL與所有ANSI/ISO兼容的C++編譯器一起已經被納入成為標準C++庫的一部分。像STL一樣,ATL大膽使用C++模板。模板是C++中眾多具有爭議的特性之一。每每使用不當都會導致執行混亂,降低性能 和難以理解的代碼。明智地使用模板所產生的通用性效果和類型安全特性則是其它方法所望塵莫及的。ATL與STL一樣陷入了兩個極端。幸運的是 在L大膽使用C++模板的同時,編譯器和鏈接器技術也在以同樣的步伐向前發展。為當前和將來的開發進行STL和ATL的合理選擇。
??? 盡管模板在內部得到廣泛的使用,但是在用ATL技術時,你不用去敲入或關心那些模板中的尖括弧。因為ATL本身帶有ATL對象向導(參見圖一):






圖一 ATL 對象向導


??? 對象向導產生大量基于ATL模板類缺省的對象實現代碼(即框架代碼)。這些缺省的對象類型如附表一所列。ATL對象向導允許任何人 快速建立COM對象并且在分分鐘之內讓它運行起來,不用去考慮COM或ATL的細節問題。當然,為了能充分駕馭ATL,你必須掌握C++,模板和COM編程技術。對于大型的對象類,只要在ATL對象向導所產生的缺省實現(框架代碼)中加入方法實現來輸出定制接口,這也是大多數開發人員開始實現COM對象時的重點所在。
??? 初次接觸ATL時,其體系結構給人的感覺是神秘和不可思議。HelloATL是一個最簡單的基于ATL的進程內服務器源代碼 以及用SDK(純粹用C++編寫)實現的同樣一個進程內服務器源代碼。在真正構建出一個COM組件之前,代碼需要經過反反復復多次斟酌和修改。對于想加速開發COM組件速度的主流組件開發人員來說,ATL體系結構并不是什么大問題,因為對象向導產生了所需要的全部框架代碼,只 要你加入方法定義即可。對于認真的COM開發人員和系統編程人員來說,ATL提供了一個用C++建立COM組件的高級的,可擴展的體系結構。一旦你理解和掌握了這個體系結構并能駕馭對象向導,你就會看到ATL的表現能力和強大的功能 ,它完全可以和原始的COM編程技術媲美。
??? 另外一個使用ATL開發COM組件的理由是Visual C++ 5.0+集成開發環境(IDE)對ATL的高度支持。 微軟在Visual C++ 5.0+中將ATL所要用到的接口定義語言(IDL)集成到了C++編輯器中。(待續)

posted on 2007-03-12 10:01 jay 閱讀(417) 評論(0)  編輯 收藏 引用 所屬分類: ATL
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品久久久久久99热软件| 欧美人与性动交α欧美精品济南到| 久久综合色8888| 亚洲一区二区三区影院| 亚洲一区二区网站| 欧美专区日韩专区| 美女视频网站黄色亚洲| 欧美大色视频| 日韩亚洲一区在线播放| 午夜精品免费在线| 午夜精品福利一区二区蜜股av| 久久在线观看视频| 蜜桃久久av| 国产私拍一区| 中文精品视频一区二区在线观看| 久久精品成人一区二区三区蜜臀| 欧美激情1区2区| 久久精品中文字幕一区| 欧美色网一区二区| 亚洲精品国产拍免费91在线| 久久阴道视频| 亚洲一区欧美一区| 欧美精品日韩一区| 一区二区视频免费完整版观看| 一区二区免费在线播放| 欧美大片18| 欧美成人伊人久久综合网| 一区二区视频免费在线观看| 亚洲高清不卡一区| av成人毛片| 欧美日本视频在线| 亚洲视频1区2区| 亚洲乱码国产乱码精品精天堂 | 久久久免费观看视频| 国产精品影视天天线| 午夜国产一区| 性久久久久久| 国产尤物精品| 91久久精品www人人做人人爽| 久久综合给合久久狠狠狠97色69| 激情综合自拍| 欧美福利在线| 国产精品欧美久久| 久久久噜噜噜久久| 欧美电影免费观看高清完整版| 亚洲国产国产亚洲一二三| 欧美国产高清| 欧美日韩国产综合久久| 欧美一区二区三区精品| 男人的天堂亚洲在线| av成人免费在线| 欧美一区二区福利在线| 亚洲高清资源| 亚洲你懂的在线视频| 国产精品久久久久久久久久三级| 国产精品入口麻豆原神| 亚洲一区美女视频在线观看免费| 性伦欧美刺激片在线观看| 国内精品久久久久久| 免费欧美日韩| 国产伦精品一区二区三区在线观看 | 激情欧美一区二区三区| 亚洲国产日韩欧美在线动漫| 久久激情视频| 亚洲日本中文字幕免费在线不卡| 亚洲福利视频一区二区| 亚洲丰满在线| 欧美视频在线观看一区二区| 欧美在线免费观看| 欧美日韩亚洲一区二区三区四区| 久久成人免费电影| 欧美视频日韩视频在线观看| 欧美国产先锋| 黄色精品一区二区| 亚洲欧美日韩精品久久亚洲区| 亚洲免费观看| 免费日韩av电影| 久久亚洲免费| 在线播放豆国产99亚洲| 日韩一级精品| 99精品热视频| 欧美系列电影免费观看| 99精品欧美一区二区三区综合在线| 亚洲精品一区二区三| 免费不卡在线视频| 亚洲黄色av| 亚洲影院高清在线| 国产欧美精品| 开元免费观看欧美电视剧网站| 美女91精品| 在线观看一区欧美| 欧美国产欧美亚州国产日韩mv天天看完整| 久久精品国产亚洲一区二区三区 | 亚洲国产精品一区制服丝袜| 久久精品99国产精品日本| 久久久久久国产精品一区| 国产日韩欧美自拍| 久久www成人_看片免费不卡| 欧美在线高清视频| 国产精品香蕉在线观看| 欧美中文在线免费| 欧美成人69av| 欧美日韩一区二区免费在线观看| 99精品欧美一区| 欧美在线欧美在线| 亚洲欧洲日产国产网站| 国产日韩精品在线| 欧美国产精品中文字幕| 欧美专区在线观看一区| 亚洲毛片av| 久久在线视频| 欧美一区二区三区免费视| 在线看片欧美| 国产在线日韩| 国产精品视频xxx| 欧美三级在线| 欧美三级中文字幕在线观看| 久久久久亚洲综合| 欧美在线亚洲一区| 亚洲一区二区视频在线| 亚洲国产va精品久久久不卡综合| 久久av老司机精品网站导航 | 亚洲人成77777在线观看网| 国产精品一区视频| 国产精品综合视频| 国产精品九九| 国产精品一区二区在线观看| 国产精品美女久久久浪潮软件| 欧美视频二区36p| 欧美精品一区二区视频| 欧美高清在线视频观看不卡| 久久精品一区二区三区不卡| 羞羞色国产精品| 欧美专区亚洲专区| 蜜桃av噜噜一区| 欧美日韩1080p| 国产欧美日韩一区二区三区在线| 国产精品美女一区二区在线观看 | 国产精品素人视频| 国产精品一区免费观看| 一区二区三区无毛| 一本久久知道综合久久| 亚洲少妇中出一区| 亚洲一区二区影院| 久色成人在线| 亚洲人久久久| 欧美一区二区三区在线观看视频 | 国产精品老牛| 亚洲激情视频网站| 久久国产精品72免费观看| 亚洲国产欧美久久| 羞羞色国产精品| 欧美日韩国产电影| 亚洲国产高清视频| 性感少妇一区| 亚洲无线视频| 欧美国产1区2区| 亚洲国产高清aⅴ视频| 久久九九久精品国产免费直播| 日韩一区二区福利| 欧美成人精品在线| 亚洲国产日韩欧美| 亚洲福利视频一区| 久久人体大胆视频| 亚洲欧洲一区二区三区久久| 久久婷婷久久| 久久精品五月婷婷| 国内精品视频在线观看| 麻豆91精品| 欧美成在线观看| 亚洲欧美国产日韩天堂区| 亚洲欧美日韩成人| 国产日韩精品一区二区三区| 久久激五月天综合精品| 久久国产成人| 日韩午夜精品视频| 亚洲女人天堂成人av在线| 国产日韩在线一区| 亚洲国产精品日韩| 国产精品成人观看视频免费| 欧美在线综合| 欧美精品在线免费| 欧美高清视频在线| 亚洲一区二区三区久久| 久久久久久亚洲综合影院红桃 | 亚洲自拍都市欧美小说| 久久精品一二三区| 亚洲一区二区三区精品视频| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产91| 性亚洲最疯狂xxxx高清| 一区二区欧美国产| 久久久久国产成人精品亚洲午夜| 亚洲深夜影院| 欧美国产视频在线| 欧美成人免费观看| 国产一区二区精品久久| 亚洲一区二区在线视频| 亚洲视频在线观看网站| 欧美激情一区二区三区不卡|