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

隨筆-250  評(píng)論-20  文章-55  trackbacks-0

本文假設(shè)你熟悉C++和COM。

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

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






圖一 ATL 對(duì)象向?qū)?br />

??? 對(duì)象向?qū)Мa(chǎn)生大量基于ATL模板類缺省的對(duì)象實(shí)現(xiàn)代碼(即框架代碼)。這些缺省的對(duì)象類型如附表一所列。ATL對(duì)象向?qū)г试S任何人 快速建立COM對(duì)象并且在分分鐘之內(nèi)讓它運(yùn)行起來,不用去考慮COM或ATL的細(xì)節(jié)問題。當(dāng)然,為了能充分駕馭ATL,你必須掌握C++,模板和COM編程技術(shù)。對(duì)于大型的對(duì)象類,只要在ATL對(duì)象向?qū)a(chǎn)生的缺省實(shí)現(xiàn)(框架代碼)中加入方法實(shí)現(xiàn)來輸出定制接口,這也是大多數(shù)開發(fā)人員開始實(shí)現(xiàn)COM對(duì)象時(shí)的重點(diǎn)所在。
??? 初次接觸ATL時(shí),其體系結(jié)構(gòu)給人的感覺是神秘和不可思議。HelloATL是一個(gè)最簡(jiǎn)單的基于ATL的進(jìn)程內(nèi)服務(wù)器源代碼 以及用SDK(純粹用C++編寫)實(shí)現(xiàn)的同樣一個(gè)進(jìn)程內(nèi)服務(wù)器源代碼。在真正構(gòu)建出一個(gè)COM組件之前,代碼需要經(jīng)過反反復(fù)復(fù)多次斟酌和修改。對(duì)于想加速開發(fā)COM組件速度的主流組件開發(fā)人員來說,ATL體系結(jié)構(gòu)并不是什么大問題,因?yàn)閷?duì)象向?qū)Мa(chǎn)生了所需要的全部框架代碼,只 要你加入方法定義即可。對(duì)于認(rèn)真的COM開發(fā)人員和系統(tǒng)編程人員來說,ATL提供了一個(gè)用C++建立COM組件的高級(jí)的,可擴(kuò)展的體系結(jié)構(gòu)。一旦你理解和掌握了這個(gè)體系結(jié)構(gòu)并能駕馭對(duì)象向?qū)В憔蜁?huì)看到ATL的表現(xiàn)能力和強(qiáng)大的功能 ,它完全可以和原始的COM編程技術(shù)媲美。
??? 另外一個(gè)使用ATL開發(fā)COM組件的理由是Visual C++ 5.0+集成開發(fā)環(huán)境(IDE)對(duì)ATL的高度支持。 微軟在Visual C++ 5.0+中將ATL所要用到的接口定義語言(IDL)集成到了C++編輯器中。(待續(xù))

posted on 2007-03-12 10:01 jay 閱讀(413) 評(píng)論(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>
            亚洲国产精品va在线观看黑人| 在线免费观看视频一区| 激情小说亚洲一区| 国产一区二区激情| 亚洲黄色视屏| 国产精品激情偷乱一区二区∴| 久久精品人人做人人爽| 欧美三级网址| 午夜精品一区二区三区在线| 久久久久久欧美| 亚洲一区二区三区精品在线 | 久久精品道一区二区三区| 欧美一区二区三区免费看| 99视频在线精品国自产拍免费观看| 亚洲欧美另类中文字幕| 久久精品综合| 久久精品一区二区三区不卡牛牛| 久久丁香综合五月国产三级网站| 99国产麻豆精品| 欧美视频国产精品| 久久9热精品视频| 欧美日韩国产二区| 亚洲福利免费| 亚洲欧洲99久久| 欧美精品久久久久久| 欧美激情小视频| 亚洲人成高清| 国产精品夫妻自拍| 性久久久久久久久| 久久综合久久美利坚合众国| 国产精品亚洲网站| 国产精品久久久久免费a∨| 欧美一区二区三区在线播放| 欧美在线观看www| 亚洲人精品午夜| 国产农村妇女毛片精品久久莱园子| 美日韩精品视频| 久久免费黄色| 欧美成人亚洲| 美女诱惑黄网站一区| 欧美一区二区三区视频免费| 欧美一级片一区| 99v久久综合狠狠综合久久| 欧美高清一区二区| 亚洲欧美日本精品| 牛牛影视久久网| 亚洲国产一区二区a毛片| 欧美国产日韩a欧美在线观看| 久久三级福利| 亚洲高清久久久| 亚洲第一主播视频| 9色国产精品| 欧美在线亚洲| 麻豆精品精华液| 欧美伦理在线观看| 欧美日韩午夜| 精品成人国产在线观看男人呻吟| 国产嫩草一区二区三区在线观看| 在线看日韩欧美| 欧美一区深夜视频| 久久久久久久999| 欧美午夜电影网| 最新高清无码专区| 小黄鸭视频精品导航| 女人香蕉久久**毛片精品| 欧美国产亚洲视频| 欧美二区在线观看| 亚洲人成7777| 久久国产加勒比精品无码| 久久精品成人欧美大片古装| 一区二区三区视频免费在线观看| 欧美日韩1080p| 亚洲第一精品久久忘忧草社区| 午夜精品视频网站| 欧美承认网站| 久久综合中文色婷婷| 欧美精品 国产精品| 精品二区视频| 日韩亚洲国产精品| 欧美激情一区二区三区蜜桃视频| 亚洲电影免费在线| 久久高清国产| 欧美性大战久久久久久久| 亚洲女人小视频在线观看| 亚洲毛片在线看| 美女精品视频一区| 国产在线精品二区| 亚洲一区二区三区视频播放| 国产日韩欧美中文| 欧美一区二区三区啪啪| 在线亚洲高清视频| 国产精品你懂的在线| 午夜久久资源| 亚洲日韩欧美一区二区在线| 亚洲免费观看视频| 亚洲日本aⅴ片在线观看香蕉| 欧美aaa级| 国产精品自在线| 亚洲精品欧洲精品| 国产色综合网| 99riav1国产精品视频| 一本大道久久a久久综合婷婷 | 欧美视频久久| 亚洲电影免费在线观看| 一本久久a久久免费精品不卡| 国产一区二区三区的电影| 狂野欧美一区| 欧美大尺度在线观看| 老司机午夜精品视频| 欧美午夜精品久久久| 欧美成人一品| 黄色亚洲精品| 亚洲一区二区免费在线| 欧美一区在线视频| 国产情人节一区| 久久国产99| 日韩视频在线观看| 国产日韩视频| 欧美激情一区二区三区| 久久国产高清| 欧美日韩在线观看视频| 亚洲国产欧美另类丝袜| 国产亚洲一区二区精品| 欧美激情亚洲综合一区| 亚洲国产欧洲综合997久久| 欧美第十八页| 在线中文字幕一区| 美女尤物久久精品| 蜜桃久久精品一区二区| 亚洲精品日韩久久| 欧美风情在线观看| 亚洲视频在线一区| 亚洲国产电影| 亚洲国产精品电影| 国产午夜精品在线| 国产精品成人国产乱一区| 久久精品国语| 中文一区字幕| 亚洲乱码国产乱码精品精98午夜| 欧美黄色精品| 欧美风情在线| 亚洲一区二区三区乱码aⅴ| 久色成人在线| 欧美一二三区精品| 一区二区三区国产精华| 国产综合久久久久久| 国产精品视频久久| 欧美大片在线看| 欧美日韩视频专区在线播放| 欧美日韩在线影院| 国产亚洲精品综合一区91| 国产精品视频| 国产亚洲欧美在线| 亚洲精品一区二区三区福利| 欧美亚洲一区在线| 欧美成人在线影院| 久久综合激情| 欧美国产一区视频在线观看| 亚洲国产精品第一区二区| 久久国产99| 欧美中文字幕在线播放| 99国产麻豆精品| 亚洲午夜久久久| 欧美国产综合| 亚洲经典自拍| 午夜精品久久久久影视| 日韩视频专区| 老司机午夜精品| 久久久久国色av免费观看性色| 亚洲精品视频二区| 亚洲精品视频免费| 久久精品一区二区国产| 欧美肥婆在线| 亚洲免费视频一区二区| 欧美午夜精品理论片a级按摩| 欧美三级视频| 亚洲国产成人av好男人在线观看| 欧美亚洲综合久久| 欧美一区二区三区四区在线| 久久久久国产精品一区二区| 久久国产精品久久久久久久久久 | 亚洲一区二区免费视频| 久久久久国内| 国产综合久久久久久| 欧美在线地址| 久久综合久久综合九色| 国外成人在线视频网站| 久久久爽爽爽美女图片| 久久美女性网| 亚洲国产成人一区| 亚洲精品一区中文| 欧美精品v日韩精品v韩国精品v| 亚洲精品小视频在线观看| 亚洲日本无吗高清不卡| 亚洲欧美日韩在线观看a三区| 国产视频在线观看一区二区三区| 亚洲欧美在线另类| 午夜在线精品偷拍| 亚洲国产欧美在线人成| 午夜精品久久久久久99热软件|