• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. VisualC 與Delphi/C Builder之比較及未來的發(fā)展

        時間:2024-08-29 23:39:29 計算機(jī)畢業(yè)論文 我要投稿
        • 相關(guān)推薦

        VisualC 與Delphi/C Builder之比較及未來的發(fā)展前景之我見

        由于Delphi與C Builder同為Inprise公司產(chǎn)品,共享集成開發(fā)界面(IDE),而且
        使用同一套VCL框架(這一點(diǎn)最關(guān)鍵),它們帶的調(diào)試器、PVCS/TeamSource團(tuán)隊開發(fā)支持
        、數(shù)據(jù)庫引擎及企業(yè)版中集成的其它高級功能等都是相同的,所以本文將其與C Build
        er歸入"同一陣線"。我在網(wǎng)上見到一些Delphi程序員認(rèn)為C Builder與VC比較接近,
        這是個誤解。事實上,Delphi和C Builder除了使用的語言不同,其余幾乎都相同。為
        了避免話題轉(zhuǎn)移到C 語言與Object Pascal語言(即Delphi所用的語言)的比較,下文主
        要對比分析Visual C 與C Builder。


          首先,從它們的應(yīng)用程序框架(Application Frame,有時也稱為對象框架)進(jìn)行比
        較。Visual C 采用的框架是MFC。MFC不僅僅是人們通常理解的一個類庫。(同樣,Del
        phi和C Builder使用的VCL的概念也不僅僅是一個控件庫。)你如果選擇了MFC,也就選
        擇了一種程序結(jié)構(gòu),一種編程風(fēng)格。MFC早在Windows 3.x的時代就出現(xiàn)了,那時的Visu
        al C 還是16位的。經(jīng)過這些年的不斷補(bǔ)充和完善,MFC已經(jīng)十分成熟。但由于原型出現(xiàn)
        得比較早,MFC相比于VCL落后了一個時代。盡管微軟對MFC的更新沒有停止,我也經(jīng)常讀
        到持"只要Windows不過時,MFC就不會過時"之類觀點(diǎn)的文章,但就象Inprise(原Borl
        and)的OWL框架的淡出一樣,MFC的淡出也是早晚的事。如果MFC青春永駐,微軟的開發(fā)人
        員也不會"私自"開發(fā)出基于ATL的WTL呀。當(dāng)然,WTL的地位不能和MFC比,它并不是微
        軟官方支持的框架,封裝的功能也相當(dāng)有限。但至少也反襯出了MFC存在的不足。


          我以為,最能體現(xiàn)一個應(yīng)用程序框架的先進(jìn)性的是它的委托模型,即對Windows消
        息的封裝機(jī)制。(對Windows API的封裝就不用說了吧。大同小異,也沒什么技術(shù)含量。
        如果高興,你也可以自己寫一個類庫來封裝。但對Windows消息驅(qū)動機(jī)制的封裝就不是那
        么容易的了。)最自然的封裝方式是采用虛成員函數(shù)。如果要響應(yīng)某個消息就重載相應(yīng)的
        虛函數(shù)。但出乎我的意料,MFC采用的是"古老"的宏定義方法。用宏定義方法的好處是
        省去了虛函數(shù)VTable的系統(tǒng)開銷。(由于Windows的消息種類很多,開銷不算太小。)不過
        帶來的缺點(diǎn)就是映射不太直觀。好在較新版本VC帶的ClassWizard可以自動生成消息映射
        代碼,使用起來還是比較方便的。但和VCL的委托模型相比,MFC的映射方法就顯得太落
        后了。而C Builder對C 語言進(jìn)行了擴(kuò)展,以便引入組件、事件處理、屬性等新特性。
        由于功夫做在編譯器級,生成的源代碼就顯得十分簡潔。但是由于擴(kuò)展的非標(biāo)準(zhǔn)特性,
        使用VCL的C Builder的源代碼無法被其它編譯器編譯。而MFC的功夫做在源代碼級,雖
        然消息映射代碼較為復(fù)雜且不直觀,但兼容性非常好。只要你有MFC庫的源代碼(隨VC企
        業(yè)版的光盤提供),你的MFC程序理論上用任何符合ANSI標(biāo)準(zhǔn)的編譯器均可編譯通過。C
        Builder 3以上版本可以原封不動直接編譯Visual C 程序,很多人認(rèn)為這是C Build
        er的兼容性好,實際上很大程度應(yīng)歸功于MFC的兼容性好。微軟辛辛苦苦用標(biāo)準(zhǔn)方法寫M
        FC,卻為對手制造了方便。不知他們作何感想?而因為C Builder對語言作了擴(kuò)展,VC
        不能編譯C Builder的程序。看來在這方面VC要輸給C Builder了。而且VCL所支持的組
        件、屬性等都是MFC所缺乏的特性。雖然VC也能支持組件,但要通過AppWizard先生成一
        個"包裹"類(wrapper),不如VCL來得簡潔。有很多人使用C Builder就是沖著控件板
        上那一大堆組件來的,VC雖然能使用的組件也很多(也許不比C Builder少),但由于不
        方便而對RAD程序員沒有吸引力。


          C Builder的VCL比Visual C 的MFC先進(jìn)的另一個特性是異常處理。但令人啼笑
        皆非的是,它的異常處理代碼有bug,有時會無端拋出異常。不知道在最新的版本中有沒
        有改正了。而VC的框架MFC也不是一無是處。經(jīng)歷了那么多年的發(fā)展和完善,MFC功能非
        常全面,而且十分穩(wěn)定,bug很少。其中你可能遇到的bug更少。而且有第三方的專門工
        具幫助你避開這些bug。如此規(guī)模的一個類庫,能做到這一點(diǎn)不容易。不要小看了這一點(diǎn)
        ,很多專業(yè)程序員就是為這個選擇VC的。而C Builder的VCL的bug就相對較多了,而且
        有些它自己帶的示例程序都有錯誤。看來Inprise還有很長的路要走。


          再從它們的易用性比較。VC有ClassWizard、SourceBrowser等一系列工具,還附
        帶Visual SourceSafe、Visual Modeler等強(qiáng)大的工具,易用性非常好。(VC自帶建模工
        具Visual Modeler,也許說明了它才是工程級的開發(fā)平臺,與C Builder的定位不同。
        )它所帶的MSDN這部"開發(fā)者的百科全書"更是讓你"沒有找不到的,只有想不到的"。
        而且它的AutoComplete之類小功能也比C Builder要體貼。C Builder的新版本雖然也
        提供了這一功能,但它的提示要等好幾秒才出來,有時你不經(jīng)意間把鼠標(biāo)停在某一處,
        也要等硬盤響好幾秒,這可是在566Mhz的賽揚(yáng)II上呀。不要笑我瑣碎,有時一個開發(fā)工
        具的成熟和易用,就是從這些小地方體現(xiàn)出來的。C Builder作為RAD工具,理應(yīng)強(qiáng)調(diào)易
        用性。但與VC相比還顯出不成熟。這是不應(yīng)該的。


          再來看看它們的可移植性。Inprise正在開發(fā)C Builder和Delphi的Linux版本,
        代號為Kylix。也許通過Kylix,用VCL構(gòu)架編寫的Windows程序向Linux移植

        【VisualC 與Delphi/C Builder之比較及未來的發(fā)展】相關(guān)文章:

        C語言上機(jī)考試系統(tǒng)Delphi7+Access11-23

        基于Delphi的試卷智能生成系統(tǒng)設(shè)計Delphi+SQL11-23

        試論中西哲學(xué)之根本比較03-06

        delphi題庫系統(tǒng)(一)03-07

        文件自動分類系統(tǒng)Delphi03-08

        讓員工相信未來發(fā)展03-24

        比較優(yōu)勢、競爭優(yōu)勢與發(fā)展的趕超03-20

        在Delphi中巧用Windows 的API函數(shù)03-20

        C2C模式下網(wǎng)絡(luò)營銷價格策略的發(fā)展趨勢及建議03-28

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 色综合天天狠天天透天天伊人 | 制服丝袜有码中文字幕在线 | 综合亚洲国产一区二区三区 | 在线观看国产激情麻豆 | 亚洲熟女一区二区三区 | 日本亚洲国产一区二区三区 |