• <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>
            posts - 62,  comments - 19,  trackbacks - 0

            十年 MFC 經(jīng)歷認(rèn)識(shí)的 Microsoft 技術(shù)

            孫輝

            ?


            ?

            自從 2005 3 8 日下午 16 時(shí) “十年 MFC 經(jīng)歷認(rèn)識(shí)的 Microsoft 技術(shù)”以帖子的方式發(fā)表于 CSDN 論壇后,引起了許多網(wǎng)友得好評(píng),使得筆者誠(chéng)惶誠(chéng)恐,考慮到該貼過(guò)長(zhǎng) ( 人氣指數(shù)為 5000) ,因此轉(zhuǎn)移到 Blog 上,許多網(wǎng)友對(duì)此帖的評(píng)語(yǔ)只好省略,在此鄙人謝過(guò)了!為感謝網(wǎng)友的支持,本人希望今后能發(fā)出新的帖子以回報(bào)網(wǎng)友對(duì)我的鼓勵(lì),再一次謝謝!

            初識(shí) MFC ?
            ? ? ? ?
            我最初知道 MFC 大概是在 1993 年,那個(gè)時(shí)候 Visual ?C++ 還沒(méi)面世,當(dāng)時(shí) Microsoft C++ 編譯器還很弱,官方的名字是 Microsoft ?C/C++ ?7.0 , MFC 的版本是 1.0 ,幾乎沒(méi)有引起什么反響,那個(gè)時(shí)期最好的 C++ 開(kāi)發(fā)環(huán)境是 Borland ?C++ ?3.1 ,其實(shí),大概是 1992 11 月份,一個(gè)偶然的機(jī)會(huì),我領(lǐng)略到 Borland 公司的厲害,記不得在什么地方,我看到一個(gè)絕妙的集成開(kāi)發(fā)環(huán)境,即 Turbo ?C++ ?3.0 ?for ?Windows ,這是我記憶中第一個(gè)真正的 Windows 環(huán)境下的 C++ 集成開(kāi)發(fā)環(huán)境,那種激動(dòng)的感覺(jué)至今仍記憶猶新,不客氣的說(shuō),當(dāng)時(shí)至少在 C++ 方面, Microsoft Borland 不是一個(gè)水平的, Borland 明顯的要高于 Microsoft ? , Borland 的產(chǎn)品在技術(shù)上給我留下深刻的印象。那個(gè)時(shí)候 Microsoft 最好的開(kāi)發(fā)平臺(tái)是 Visual ?Basic ?3.0 ,而 Borland Delphi 正處于開(kāi)發(fā)階段( Delphi ? 的代碼名稱(chēng)是: “VB ?Killer” …… ,想起這些十幾年前的往事,我不禁感慨萬(wàn)千。 ?
            十幾年來(lái),我用過(guò)許多開(kāi)發(fā)環(huán)境,關(guān)于 Visual ?Basic ,我用過(guò)最早的 DOS 版本, Windows 版的 Visual ?Basic 我基本上全都用過(guò),至今我還記得每個(gè)版本的 VB 安裝盤(pán)磁盤(pán)的盤(pán)數(shù)。同樣,我用過(guò)各個(gè)版本的 Delphi ,特別是 Delphi ?2.0 ,給我留下極好的印象。 Delphi 提供真正編譯的可視化開(kāi)發(fā)環(huán)境,那個(gè)時(shí)候( 1994 年左右), Delphi 就可以開(kāi)發(fā)帶有 GUI 的動(dòng)態(tài)鏈接庫(kù),你可以想象,在 Microsoft ?Access ?2.0 的應(yīng)用程序中可以加載一個(gè) Delphi ?Form 并進(jìn)行程序交互,那種感覺(jué)真是棒極了。 ?
            ??? Borland ?C++
            是我心中無(wú)法抹掉的遺憾,從 Turbo ?C C++ ?Builder ,我深刻的體驗(yàn)到 Borland 的輝煌和無(wú)奈, Delphi VB ?Killer 走到為 VB 護(hù)航(你可以想象 Delphi 一步到位的 ActiveX ? 控件開(kāi)發(fā)技術(shù)有多牛,早期的 VB 有多土,早期的 VB 不能開(kāi)發(fā)動(dòng)態(tài)鏈接庫(kù),因此無(wú)法開(kāi)發(fā) ActiveX ? 控件,想起來(lái)真令人噓唏不已), Borland ?C++ 的命運(yùn)也是不濟(jì)。 Borland ?C++ ?3.1 的輝煌永遠(yuǎn)不再了,十幾年的開(kāi)發(fā)工作中,我在 C++ 上投入了大量的精力, Borland ?C++ 曾經(jīng)給我?guī)?lái)無(wú)數(shù)的激動(dòng),然而這個(gè)經(jīng)典的名字卻在與 Microsoft 的競(jìng)爭(zhēng)中漸漸的流逝了 …… 。 ?
            MFC4.0
            的出現(xiàn),使得人們感覺(jué) Microsoft C++ 方面趕上來(lái)了,這一版的 MFC Win95 推出后出現(xiàn)在 Visual ?C++ ?4 中( Microsoft 沒(méi)有 VC ?3 , VC4 以前的版本是 2.2 、 2.1 、 2.0 、 1.51 、 1.5 1.0 )。也許是對(duì) Borland ?C++ 的潛意識(shí)的失望,我不知不覺(jué)的接受了 MFC , VC ?4.2 推出時(shí),我通過(guò)正常渠道購(gòu)買(mǎi)了這個(gè)編譯器的企業(yè)版。

            ? 關(guān)于 Microsoft ?
            ? ? ? ?
            關(guān)于 Microsoft ,有無(wú)數(shù)的人要對(duì)這個(gè)名字?jǐn)⒄f(shuō)感覺(jué),這個(gè)令人討厭的名字!不知道是喜歡還是憎惡,你是程序員,你的心思可能就要因 Microsoft 的存在而動(dòng),即使你用 Linux ,你可能也是因?yàn)?/span> Microsoft 技術(shù)因素。多少年來(lái),這個(gè)名字每天都出現(xiàn)在你、我、他的面前,因?yàn)槟悴坏貌幻鎸?duì) Windows 的存在,可是你憎恨這個(gè)名字嗎?你討厭這個(gè)名字嗎?我不知道是否已經(jīng)對(duì)這個(gè)名字麻木了。 1998 年我個(gè)人訂了 Microsoft ?MSDN ?Universal ? 版,我開(kāi)始比較全面接觸這個(gè)公司的開(kāi)發(fā)技術(shù),你可以想象, 1998 年當(dāng)你面對(duì)上百?gòu)埣夹g(shù)光盤(pán)的時(shí)候,你就知道什么叫做 厚度 ,當(dāng)我們有時(shí)說(shuō)出 趕上 ?“ 達(dá)到 ”Microsoft 某些產(chǎn)品的水平的時(shí)候,可能我們?nèi)狈?duì)這個(gè)公司 厚度 的真實(shí)了解。進(jìn)入 MSDN ,我感覺(jué) Microsoft 簡(jiǎn)直不是一個(gè) 公司 ,而是(或者正在形成)一個(gè) 社會(huì) 。當(dāng)時(shí)著名的技術(shù)網(wǎng)站 http://www.codeguru.com 全部的技術(shù)資料是可下載的(那個(gè)時(shí)候 http://www.codeguru.com 提供整個(gè)網(wǎng)站內(nèi)容下載服務(wù),大約 3M 左右),大名鼎鼎的 www.codeproject.com 還不存在。一開(kāi)始,我始終潛意識(shí)在技術(shù)上對(duì)比 Microsoft Borland ,應(yīng)當(dāng)說(shuō)技術(shù)上 Borland 不比 Microsoft 弱,即使現(xiàn)在也有人持有這個(gè)看法,可是為什么 Borland 走到今天這個(gè)地步?而 Microsoft 卻如日中天?若干年前,這兩個(gè)公司競(jìng)爭(zhēng)何等激烈,而現(xiàn)在卻是另一番 合作 的景象?可能很多人想過(guò),如果 Borland 不存在,對(duì) Microsoft 不是更有力嗎?其實(shí) Microsoft 可能精通中國(guó)歷史,讀過(guò)《三國(guó)》、十分了解戰(zhàn)國(guó)時(shí)期的中國(guó),其實(shí) Borland 形式上的存在,對(duì) Microsoft 是十分有利的,至少形式上還有競(jìng)爭(zhēng)對(duì)手,而事實(shí)上 Borland 已經(jīng)受控于 Microsoft Microsoft Borland 的大股東)。你可以看到一些微妙的現(xiàn)象: Borland Microsoft 提供了大量的人才,其中包括 Delphi 總設(shè)計(jì)師以及 Borland ?C++ 編譯器的核心成員;同時(shí)也為 Microsoft ?.NET 提供強(qiáng)有力的護(hù)航服務(wù)(看看 C# ?Builder 、 Delphi ?.NET )。 1998 Microsoft ? COM 技術(shù)基本已經(jīng)成熟,這個(gè)技術(shù)使人感到震撼,當(dāng)時(shí) Microsoft 的對(duì)手們提出 “OpenDoc” 用于對(duì)抗 “COM” ,你看看 “OpenDoc” 陣營(yíng)的幾個(gè)成員: IBM 、 Apple 、 Borland Novell ,你會(huì)感到這個(gè)陣營(yíng)十分豪華、強(qiáng)大。但結(jié)果卻差強(qiáng)人意, “OpenDoc” 無(wú)疾而終,而 “COM” 依然生機(jī)勃勃。 ?
            ???
            有人說(shuō) “COM” 沒(méi)落了,那么就太不了解 Microsoft 了。在與 “OpenDoc” 的競(jìng)爭(zhēng)中, “COM” 是個(gè)徹底的勝利者,在與 “Java” 的競(jìng)爭(zhēng)中, “COM” 成功的進(jìn)化了,在這個(gè)過(guò)程中 Microsoft 體現(xiàn)了強(qiáng)大的吸收能力、以及無(wú)法想象的韌勁。 .NET 只不過(guò)是 COM 別名 而已。對(duì)于一個(gè)經(jīng)驗(yàn)豐富的 C++ 程序員而言, .NET 就是 COM 的進(jìn)化,而 Microsoft 內(nèi)部 .NET 就是 “COM ?3.0” OLE2 就是 COM ?2.0 ),而 “CLR” 就是一個(gè)不擇不扣的 COM 對(duì)象。曾經(jīng)有人問(wèn)我,既然牛頓時(shí)代就奠定了基礎(chǔ)(想想著名的牛頓 - 萊布尼茨公式),幾百年后的今天,數(shù)學(xué)還研究 微積分 嗎?回答當(dāng)然是依然在研究! 微積分 早期是針對(duì)函數(shù)的,現(xiàn)代 微積分 是針對(duì) 流形( Manifold )、纖維叢( Fiber ?Bundle 的,概念深?yuàn)W了,可是基本思想不變,只是 微積分 的思想得到合理的延拓與進(jìn)化,你了解 Microsoft 嗎? Microsoft ?Research 有一批超一流的數(shù)學(xué)家在為 Microsoft 工作,其中一些是斐爾茲獎(jiǎng)的得主, Microsoft 正在實(shí)現(xiàn)如同 微積分 進(jìn)化到 微分流形 一樣將 “COM” 進(jìn)化到 “.NET” 。從科學(xué)概念角度上分析 COM Java ,可能 COM 更全面、精確,從實(shí)現(xiàn)的成熟度上 Java 可能更成熟,可是你看到, Microsoft 正在不緊不慢的追趕。 Microsoft 令人聯(lián)想起戰(zhàn)國(guó)時(shí)期的強(qiáng)秦。 ? ?
            戰(zhàn)國(guó)時(shí)期的秦國(guó),采取 遠(yuǎn)交近攻 ”“ 撫弱掠強(qiáng) 等措施傲視六國(guó),今天的 Microsoft 也是這樣, VB1.0 時(shí), Microsoft 推出 “VBX” 控件技術(shù),眾多的小公司得以生存, Microsoft 自己不開(kāi)發(fā) “VBX” 組件,同樣 “VBX” 進(jìn)化為 “OCX” 時(shí), Microsoft 并不十分強(qiáng)大,可是這種試探得到眾多小公司的響應(yīng)。 1997 Microsoft ?Office ?97 、 1998 Microsoft 推出 Visual ?Studio ?6.0 ,給眾多中、小公司提供了生存、發(fā)展的機(jī)會(huì),例如 Microsoft ?Office ?97 中集成了 Visual ?Basic ?for ?Application ?5.0 ,這項(xiàng)技術(shù)使得幾百家軟件開(kāi)發(fā)商與 Microsoft 簽署了 VBA 技術(shù)許可協(xié)議,即使 AutoDesk 這樣的公司都與 Microsoft 簽署了這個(gè)協(xié)議,這個(gè)協(xié)議使得每個(gè)集成 VBA 的產(chǎn)品的給個(gè)用戶(hù)許可為 Microsoft 40$ 的許可費(fèi),如果你了解 VSIP Visual ?Studio ?Integration ?Protocol )協(xié)議,以及有多少公司簽訂了 VSIP 協(xié)議,你就真正感覺(jué)到 Microsoft 的可怕; Microsoft ?Office ?97 、 Visual ?Studio ?6.0 的用戶(hù)界面十分漂亮,為什么 Microsoft 自己的開(kāi)發(fā)工具不提供類(lèi)似的軟件組件?你看到眾多第三方的 Microsoft 盟友紛紛推出自己的界面庫(kù)以模仿 Microsoft ,他們不會(huì)反對(duì) Microsoft ,因?yàn)樗麄円呀?jīng)形成了使得 Microsoft 以及這些公司得以生存的生態(tài)圈。 ?
            ??? Microsoft
            的技術(shù)儲(chǔ)備有多少, Microsoft 之外的人很難說(shuō)清楚, Microsoft 中國(guó)公司也未必了解多少, 1999 WTL 類(lèi)庫(kù)剛剛出現(xiàn)的時(shí)候,人們就希望 WTL 能得到官方的支持,或授權(quán)給一個(gè) Microsoft 之外的一個(gè)公司(你能想象出 Borland ?C++ ?5.0 內(nèi)置的 ActiveX 開(kāi)發(fā)機(jī)制是基于 Microsoft ?ATL 類(lèi)庫(kù)嗎?),直到今天, WTL 依然如故,我們完全相信,如果 Microsoft 強(qiáng)力推廣 WTL , WTL 完全可以流行,可是 Microsoft 不缺類(lèi)似的技術(shù),類(lèi)似的類(lèi)庫(kù)還有 BCL(Base ?Control ?Library ,一個(gè)用于開(kāi)發(fā)輕量級(jí) ActiveX 控件的類(lèi)庫(kù) ) , Microsoft 還有一個(gè)基于 ATL 的類(lèi)庫(kù),這個(gè)類(lèi)庫(kù)用于開(kāi)發(fā) ActiveX ?Designer , ActiveX ?Designer 是絕大多數(shù)程序員不了解得一類(lèi)對(duì)象,如果你熟悉 Office 開(kāi)發(fā),你知道 Office ?VBA ? 中有一類(lèi)對(duì)象,即 Form2 ,此外 VB6.0 ? 中的報(bào)表設(shè)計(jì)器(以及著名的 Active ?Reporter ),都屬于此類(lèi)對(duì)象,用這個(gè)類(lèi)庫(kù),你可以為 VB6.0 以及集成 VBA 的系統(tǒng)提供定制化的可視化設(shè)計(jì)機(jī)制等等,如今 ActiveX ?Designer 已經(jīng)演化為集成于 Visual ?Studio ?.NET 中的設(shè)計(jì)器。

            Microsoft 學(xué)習(xí) ?
            ? ? ? ?
            無(wú)論從什么角度評(píng)價(jià) Microsoft ,我覺(jué)得 Microsoft 是值得我們學(xué)習(xí)的,如果說(shuō)生活在這個(gè)時(shí)代有 Microsoft 存在是一場(chǎng)災(zāi)難,你就應(yīng)該痛恨這個(gè)家伙,但你首先要向這個(gè)家伙學(xué)習(xí)!我無(wú)意為 Microsoft 歌功頌德,我只是想說(shuō)出十幾年我對(duì) Microsoft 技術(shù)的感受。 ?
            ? ? ? ?Microsoft
            在研究式的開(kāi)發(fā)中受益極大,如果你有興趣,你可以訪問(wèn) http://research.microsoft.com/ ,雖然部分中國(guó)公司也有研究院,但與 Microsoft 相比,真有 米粒之珠,也放光華? 的感覺(jué)。 2003 年,我在北京的一個(gè)地方現(xiàn)場(chǎng)體驗(yàn)了 Microsoft 亞洲研究院的招聘會(huì),我看到中國(guó)的精英們進(jìn)入 Microsoft 的渴望,事實(shí)上,在中國(guó)大陸, Microsoft 亞洲研究院的人力資源已經(jīng)延伸到各著名高校的相關(guān)專(zhuān)業(yè)的核心層,我感到, Microsoft 幾乎不需要 求賢 ,因?yàn)椋灰?/span> Microsoft 需要,精英們會(huì) 蜂擁而至 ,每個(gè)人都有 可以理解 的理由而向往那個(gè)地方,如果為搞數(shù)學(xué)研究蜂擁到加州大學(xué),我覺(jué)得可以理解,因?yàn)槟抢镉袛?shù)學(xué)土壤,出了成果國(guó)人也會(huì)感到自豪,因?yàn)?/span> 科學(xué)無(wú)國(guó)界 。技術(shù)是否有國(guó)界?不知道是否有定論?!想想 DVD 等技術(shù)專(zhuān)利給國(guó)內(nèi)業(yè)界帶來(lái)的災(zāi)難,不知道應(yīng)不應(yīng)該痛定思痛,在 Microsoft 校園招聘現(xiàn)場(chǎng)的氣氛中,我似乎明白了為什么國(guó)人 原創(chuàng)技術(shù) 少得可憐。我讀過(guò)幾本 Microsoft 亞洲研究院的高手寫(xiě)的書(shū),明顯可以看出, Bill ?gate ? 是他們的精神領(lǐng)袖以及他們對(duì) Microsoft 的虔誠(chéng),國(guó)內(nèi)的研究機(jī)構(gòu)應(yīng)當(dāng)研究一下 Microsoft 的用人之道, Microsoft 好像是三國(guó)里的人物,不知是劉備還是曹操,或者二者的混合物。我經(jīng)常路過(guò)西格瑪大廈,第一次西格瑪大廈進(jìn)入真有 朝圣 的感覺(jué),也與 Microsoft 中國(guó)的幾個(gè)層次的人打過(guò)交道,各中滋味實(shí)在一言難盡。 ?
            ? ? ? ?
            Office 大戰(zhàn)中,國(guó)產(chǎn)軟件的確在一些方面與 Microsoft 進(jìn)行較量,其實(shí)給人的感覺(jué)很勉強(qiáng),界面上的似是而非,或用戶(hù)習(xí)慣方面的接近并不能解決根本的問(wèn)題,一個(gè)好的軟件開(kāi)發(fā)人員必須是一個(gè)軟件使用的高手,很難想象一個(gè)軟件操作水平很拙劣的開(kāi)發(fā)人員能開(kāi)發(fā)出高水平的軟件,我最早使用的軟件之一就是 Microsoft ?Word ,當(dāng)時(shí)的版本是 2.0 ,大概是 1992 年的事情,給我留下深刻印象的是集成于 Word 中的 Word ?Basic ,后來(lái),我接觸到 Excel ?3.0 ,不出所料, Excel 中集成的是 Excel ?Basic ,后來(lái)使用的 Access 中自然內(nèi)置 Access ?Basic ?1.0 ,在這些軟件集成捆綁成 Office 之前,我就感覺(jué)這些產(chǎn)品的構(gòu)思十分了不起,很具有 Microsoft 的風(fēng)格,因?yàn)槟阒?,即使是一個(gè) DOS , Microsoft 都要提供一個(gè)內(nèi)置的 QBasic GW ?Basic 。雖然關(guān)于 Microsoft 的產(chǎn)品評(píng)論很多,作為一個(gè)技術(shù)人員,我認(rèn)為 Microsoft 的產(chǎn)品構(gòu)思絕對(duì)是第一流的,從 1994 年早期的 Office 系列到 1997 年形成的 Office ?4.2 ,我認(rèn)為,技術(shù)構(gòu)思上均領(lǐng)先于我國(guó) 2002 年以后的 Office 產(chǎn)品,你聽(tīng)說(shuō)過(guò)如下說(shuō)法嗎? “Dos ? 作為操作系統(tǒng)的時(shí)代, Windows 是應(yīng)用軟件; Windows 是操作系統(tǒng)時(shí), Office 成為 Dos 時(shí)代的 Windows ;那么如果按此規(guī)律, Office 會(huì)不會(huì)替代 Windows 而成為操作系統(tǒng)? ,現(xiàn)在在開(kāi)發(fā)領(lǐng)域 Visual ?Studio( ?.NET) 正在成為另一個(gè) Office ,你注意到了嗎?控制 Visual ?Studio( ?.NET) 集成開(kāi)發(fā)環(huán)境的仍然是一個(gè) Basic 語(yǔ)言引擎( Visual ?Basic ?.NET )。 ?
            ? ? ? ?
            與許多公司不同的是,在技術(shù)體系上, Microsoft 幾乎所有的產(chǎn)品是息息相關(guān)的, Windows 、 Office 、 Visual ?Studio ?.NET 雖然各不相同,但公共的核心即將形成,我們已經(jīng)看到,核心組件方面, Office Visual ?Studio ?.NET 日漸趨于一致,例如 Microsoft 正在將 Office ?2003 的核心組件 VBA ?6.X 逐步用新的 Visual ?Studio ?Tools ?for ?Office 替代,而我們依然在一些似是而非的現(xiàn)象上與 Microsoft 的產(chǎn)品比較差距,國(guó)家采購(gòu)或政府采購(gòu)支持的公司,不去鉆研核心技術(shù),只是急功近利的采用短期行為急于與 Microsoft 相爭(zhēng),不知是否有蚍蜉撼樹(shù)的感覺(jué),個(gè)人的體驗(yàn)是,先學(xué)習(xí) Microsoft ,踏踏實(shí)實(shí)的學(xué),了解 Microsoft ,深入的了解,然后再喊口號(hào)。

            為什么用 MFC ?? ?? ?? ?? ?
            ? ? ? ?
            經(jīng)過(guò)若干年的競(jìng)爭(zhēng), Borland ? OWL 幾乎消失了,這個(gè) OWL 是個(gè)非常漂亮的 C++ 類(lèi)庫(kù),在 Borland ?C++ ?3.1 風(fēng)光無(wú)限的年代, OWL 真正的做到了獨(dú)領(lǐng)風(fēng)騷。然而, Borland ?C++ ?4.0 錯(cuò)過(guò)了進(jìn)入 32 位程序的最佳時(shí)機(jī), BC ?4.0 推出后不久,迎來(lái)了 Win95 Borland 倉(cāng)促上陣,以一個(gè)小的 “Pack” 使得 BC4 可以編譯基于 Win4 的程序,當(dāng)時(shí)的 Visual ?C++ 2.0 版,支持 Window16 的版本為 Visual ?C++1.51 ,有意思的是 Borland 可以用同一個(gè)編譯器同時(shí)支持 Win16 Win32 ,而 Microsoft 卻不得不為 Win16 、 Win32 提供不同的編譯器。然而,非正式版本的 Visual ?C++ ?2.1 Visual ?C++ ?2.2 卻悄悄地支持了 Win95 的最新特征,即 Win95 新提供的一組公共控件,在我的印象中, Borland 對(duì) Win95 新特征的支持不利使得 MFC OWL 的距離極大的縮短了。稍后到來(lái)的 Borland ?C++ ?4.5 沒(méi)有改變這個(gè)狀況,盡管 Borland ?C++ ?5.0 同時(shí)支持 OWL MFC ,可是敗象已經(jīng)顯露, Borland ?C++ 非常遺憾的只走到了 5.5 版。 C++ ?Builder 雖然形式上引入了 Delphi VCL 庫(kù),可是許多 C++ 程序員并不買(mǎi)賬,因?yàn)樵S多以 C++ 為樂(lè)的人更喜歡以編輯的模式進(jìn)行編碼。 Visual ?C++ ?4.0 的出現(xiàn),在 C++ 這個(gè)戰(zhàn)場(chǎng)上, Borland 開(kāi)始落敗了。 ?
            ? ? ? ?MFC
            發(fā)展到今天,已經(jīng)十多年了,盡管褒貶不一,但可以肯定,十幾年的技術(shù)積累已經(jīng)奠定了 MFC 的生存基礎(chǔ),即使 Microsoft 的長(zhǎng)角發(fā)布, MFC 也不能推出 Windows 的舞臺(tái),事實(shí)上,長(zhǎng)角( Longhorn )之后的 Visual ?Studio ?.NET 仍將 MFC 作為一個(gè)重要的組成部分,在今年的 Visual ?Studio ?.NET ?2005 中, MFC C++ 中的位置依然如故。 MFC 的未來(lái),應(yīng)該不必?fù)?dān)心,只要你深入考察 .NET 類(lèi)庫(kù),你會(huì)發(fā)現(xiàn), MFC 的許多思想機(jī)制正悄然進(jìn)入 .NET ,與此同時(shí), Microsoft 的第三方盟友十多年來(lái)已為 MFC 開(kāi)發(fā)了大量的擴(kuò)展庫(kù),如果 Microsoft 是船,第三方盟友就是載舟之水。許多人認(rèn)為 MFC 不發(fā)展了,其實(shí)是一種錯(cuò)覺(jué), Visual ?C++ ?6 的界面十分經(jīng)典,特別是其中的 Docking 控制條機(jī)制,其實(shí) Visual ?C++ ?6 IDE 完全就是 MFC 寫(xiě)的,可是 MFC 類(lèi)庫(kù)中控制條相關(guān)的類(lèi)功能很弱,為什么?你會(huì)看到許多與 Microsoft 友好的公司,他們很快的在 MFC 基礎(chǔ)上實(shí)現(xiàn)了 Visual ?C++ ?6 ? Docking 機(jī)制,這就是 Microsoft 的高明之處, Microsoft 很會(huì)給盟友提供機(jī)會(huì),其一貫的做法就是在自己的商品化產(chǎn)品中預(yù)先提供一些有趣的特征,使得其他一些公司進(jìn)行模仿以帶動(dòng)用戶(hù)群體。 Borland 不具備這樣的儲(chǔ)備。 MFC 第三方市場(chǎng)的繁榮,得益于 Microsoft 的策略與明智。 MFC 可否跨平臺(tái)?理論上完全可以, Microsoft 不做,也是策略,但是有許多重要的產(chǎn)品 Microsoft 卻默許 MFC 移植到其他平臺(tái),事實(shí)上, Microsoft 的合作伙伴之一 Mainsoft 公司( Windows 源碼就是從這家公司流失的),幾年來(lái)就是負(fù)責(zé)移植 MFC 程序移植到 UINIX 、 Linux AIX 等操作系統(tǒng)之上。 ?
            ? ? ? ?
            新版的 Visual ?C++ MFC 已經(jīng)支持 .NET 開(kāi)發(fā)了, MFC ATL 的協(xié)作更好了。根據(jù)我的經(jīng)驗(yàn), MFC 、 ATL .NET 庫(kù)三者完全可以融合在一起綜合應(yīng)用到實(shí)際的開(kāi)發(fā)工作中去,如果你是 MFC 行家,我希望 ATL .NET 庫(kù)能成為你的忠實(shí)的左右手。那么有沒(méi)有同時(shí)支持 MFC 、 ATL .NET 庫(kù)的程序?當(dāng)然有, Visual ?Studio ?.NET ?IDE 就是!而且 Visual ?Studio ?.NET ?IDE 還支持用 ATL .NET 庫(kù)擴(kuò)展的 Addin



            下面仍然有很多,但是不再轉(zhuǎn)載:http://blog.csdn.net/sunhui/archive/2005/03/15/319551.aspx

            posted on 2006-12-30 13:50 喬棟 閱讀(264) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): C++
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(6)

            隨筆分類(lèi)

            隨筆檔案

            文章分類(lèi)

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜


            My blog is worth $0.00.
            How much is your blog worth?

            国产91色综合久久免费分享| 天天做夜夜做久久做狠狠| 亚洲国产成人久久精品动漫| 久久精品亚洲精品国产欧美| 午夜精品久久久久久99热| 99久久精品免费看国产免费| 亚洲午夜福利精品久久| 国产精品久久久久久福利69堂| 久久夜色撩人精品国产小说| 欧美噜噜久久久XXX| 久久久久免费视频| 国产精品美女久久久m| 亚洲国产精品综合久久一线| 国产精品99精品久久免费| 欧美性猛交xxxx免费看久久久| 国产精品久久午夜夜伦鲁鲁| 中文字幕无码久久精品青草| 久久99国产精品99久久| 久久久一本精品99久久精品88| 久久亚洲国产精品一区二区| 99蜜桃臀久久久欧美精品网站| 国内精品久久久久久久影视麻豆| 亚洲精品国产美女久久久| 天堂无码久久综合东京热| 久久婷婷综合中文字幕| 久久青青草原精品国产| 亚洲日本va午夜中文字幕久久| 伊人热人久久中文字幕| 久久99精品国产自在现线小黄鸭 | 浪潮AV色综合久久天堂| 香港aa三级久久三级老师2021国产三级精品三级在 | 精品久久久久久无码专区 | 色综合久久综精品| 色诱久久久久综合网ywww| 综合久久久久久中文字幕亚洲国产国产综合一区首| 久久成人国产精品二三区| 久久精品国产亚洲AV电影| 亚洲va久久久噜噜噜久久男同| 伊人久久精品影院| 欧美日韩精品久久久久| 99久久精品国产毛片|