• <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>
            隨筆-250  評論-20  文章-55  trackbacks-0
            我一直在尋找這樣一個類庫:他對Windows的窗口提供面向對象的封裝,有靈活的消息響應機制和比較完備的界面框架解決方案,對標準控件提供簡練實用的封裝,支持操作系統的新特性,支持功能擴充和二次開發,有代碼自動生成向導機制,生成的程序使用較少的系統資源,最后是有完全的代碼支持和文檔支持。

            你會說那就用MFC吧!

            是的,我一直使用MFC,但我對MFC已經越來越厭倦了。陳舊的類庫使得它無法支持操作系統的新特性(MFC的類庫從4.21版之后就沒有更新了,而那時是1998年,人們使用Windows 95和windows NT4),臃腫的消息映射機制和為了兼容性而保留下來的代碼使得程序效率低下,面面俱到的框架結構使得生成的應用程序龐大并占用過多的系統資源。當一個功能簡單的程序使用動態鏈接也超過200K,占用3%-4%的系統資源時,我決定放棄MFC,尋找一個新的功能類似的類庫。我研究過很多類似的代碼,不是過于簡單,無法用于應用程序的開發就是缺乏代碼和文檔的支持。在CodeProject上有一個名為Class的類庫,我也研究過它的代碼,具備了基本的界面框架,對控件也有了簡單的封裝,但是不實用,龐大的虛函數機制使得對象非常臃腫,無法減少對資源的占用。我甚至仿照MFC做了一個簡單的類庫miniGUI,形成了基本的框架解決方案,但是最后放棄了,原因很簡單:無法用于應用程序的開發。一個應用程序界面框架錯綜復雜,要考慮的事情太多,開發者不可能在應用程序和界面框架兩線作戰。就在我即將絕望的時候,我遇到了WTL。

            由于工作的需要經常開發一些COM組件,在要求不能使用MFC的場合就是用ATL。ATL提供了對窗口的面向對象地封裝和簡單的消息映射機制,但是ATL過于簡單,用它開發應用程序幾乎不可能。要想讓ATL具備界面框架解決方案的功能還需要做很多事情,幸運的是WTL就做了這些事情。WTL是個很奇特的東西,它由微軟公司一群熱情的程序員維護,它從未出現在微軟的官方產品名單上,但可以從微軟的官方網站下載最新的WTL。它沒有正式的文檔支持,用WTL做關鍵字在MSDN中檢索只能得到0個結果,但是全世界的開發網站上都有針對WTL的討論組和郵件列表,任何問題都會得到熱情的解答。我認真地對比了MFC和WTL,發現二者有很多相通之處,MFC的功能幾乎都能在WTL中實現,只是方法不同而已。我幾乎不費吹灰之力就將以前寫的一個MFC程序用WTL改寫了,使用靜態鏈接的WTL程序比使用動態鏈接的MFC程序還要小,資源占用只有MFC程序的一半。

            但是一時的熱情不能解決文檔缺乏的困擾,雖然網上有很多使用WTL的例子和說明文章,幾乎把MFC能實現的各種稀奇古怪的效果都實現了,但都是叛塾誥植課侍獾媒餼觶狽ο低車厝嫻亟檣躓TL的文章。就在這個時候我看到了邁克爾.敦(Michael Dunn)的“WTL for MFC Programmers”系列文章,我的感覺和1995年我第一次見到MSDN時一樣,幾乎是迫不及待地將其讀完,同時也萌發了將其翻譯成漢語的沖動。于是給Michael寫了封郵件,希望能夠得到授權將他的文章翻譯成漢語(事實上在這之前我已經翻譯了兩章了)。在得到授權確認后才發現這個工作是多么的困難,但為時已晚,只能硬著頭皮撐下去。
            現在介紹一下邁克爾.敦這個人。邁克(Mike)住在陽光燦爛的洛杉磯,深受那里天氣的寵愛使他愿意一直住在那里。他在4年級時就開始在Apple //e上編程序,1995年從UCLA (加利福尼亞大學洛杉磯分校)畢業,獲得數學學士學位。畢業后加盟賽門鐵克(Symantec)公司,成為Norton AntiVirus小組的質量評價工程師。他幾乎是自學了Windows和MFC編程,1999年他為Norton AntiVirus 2000設計并編寫了新的界面。邁克現在是pressplay(不久成為Napster) 的開發人員。他最近開發了一個IE的工具條插件UltraBar ,可以輕松實現繁瑣的網絡搜索功能。他還和別人合作創辦了一家軟件開發公司:Zabersoft ,該公司在洛杉磯和歐登賽(丹麥)都設有辦事處。邁克喜歡玩彈球和騎自行車,偶爾也玩一下PlayStation,他還一直堅持學習法語,官方漢語和日語。
            另外需要說明得是我翻譯“WTL for MFC Programmers”系列文章不是為了獲得任何利益,只是想為大家提供一些新的思路。如果你是MFC的堅定捍衛者,看到這里你就可以停下來了,再看下去是浪費你的時間(希望你看了前面幾段文字還能挺住不要嘔吐)。如果你是個對另類事物充滿熱情的程序員,你不能不研究WTL,它真的是一座寶藏最后用我的朋友對我的翻譯文章的評價來結束“WTL for MFC Programmers”中文版的序言:翻譯水平和你用的鼠標一樣爛!

            posted on 2007-03-09 11:43 jay 閱讀(461) 評論(0)  編輯 收藏 引用 所屬分類: WTL
            国产亚洲精久久久久久无码AV| 少妇被又大又粗又爽毛片久久黑人 | 久久久亚洲欧洲日产国码二区| 久久精品无码专区免费东京热| 亚洲AV无码久久| 国产精品美女久久久久av爽| 久久精品无码一区二区三区免费 | 久久精品国产亚洲av麻豆蜜芽| 久久久久久人妻无码| 精品国产一区二区三区久久| 91性高湖久久久久| 无码超乳爆乳中文字幕久久| 国产精品久久久久久| 亚洲精品国精品久久99热| 久久香蕉国产线看观看精品yw| 久久久久国产精品嫩草影院| 久久综合给久久狠狠97色| 久久强奷乱码老熟女| 欧美精品一区二区精品久久| 久久久久久国产a免费观看黄色大片| 欧美日韩中文字幕久久伊人| 国产成人久久精品一区二区三区| 97久久精品午夜一区二区| www亚洲欲色成人久久精品| 久久亚洲精品无码AV红樱桃| 一日本道伊人久久综合影| 亚洲综合精品香蕉久久网97| 久久精品国产亚洲AV高清热| 久久精品国产乱子伦| 久久久久久青草大香综合精品| 99久久精品费精品国产一区二区| 久久精品国产亚洲AV香蕉| 国产成人无码精品久久久性色 | 久久久久人妻精品一区二区三区| 国产香蕉久久精品综合网| 日本精品久久久久中文字幕| 国色天香久久久久久久小说 | 精品久久久久久无码专区不卡| 久久婷婷五月综合97色 | 青青久久精品国产免费看| 国产精品免费看久久久香蕉|