• <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>
            隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
                因?yàn)?a style="text-decoration: underline" href="http://m.shnenglu.com/vczh/archive/2011/11/13/160025.html" target="_blank">GacUI文件漸漸增多,為了讓大家便于使用庫(kù),因此有下列三個(gè)選項(xiàng),如果大家有空就評(píng)論,針對(duì)喜愛(ài)程度排序之:

                1、直接引用源代碼。一個(gè)文件夾下有很多.h和.cpp,給出文檔,告訴大家需要什么功能的時(shí)候需要引用什么東西,然后自行添加自己的工程文件。
                2、存在dll,并且對(duì)于一些因?yàn)槟0宓脑驘o(wú)法直接放進(jìn)dll的功能將失去,需要使用則引用源代碼。
                3、存在dll,并且使用比模板丑陋的方法來(lái)將本來(lái)使用模板做接口的功能暴露出來(lái)。
                4、只有一個(gè).h和一個(gè).cpp文件。我將類庫(kù)通過(guò)功能切分(只有GUI,只有腳本,包含GUI和腳本和他們的互聯(lián)等等若干選項(xiàng)),給出若干對(duì).h和.cpp。大家選擇需要的那一對(duì)添加進(jìn)工程文件。這樣的話,直接#include那個(gè).h文件就直接擁有了所有功能。而且Visual C++擁有預(yù)編譯頭(precompiled header),可以自行將該.h和.cpp進(jìn)行預(yù)編譯,迅猛提高編譯速度(使用stl的時(shí)候大家肯定絲毫沒(méi)有感覺(jué)太多頭文件帶來(lái)的問(wèn)題)。這樣還可以分別清晰地提供windows版本和linux版本等文件對(duì)。

                我自己的傾向是使用4,因?yàn)槟承┰?,一旦把代碼寫進(jìn)dll,有一些優(yōu)美的模板實(shí)現(xiàn)的接口將被迫打散(譬如說(shuō)stl,這些只是例子,我沒(méi)有使用stl),所以覺(jué)得有些不爽。而且只添加兩個(gè)文件(一個(gè).h和一個(gè).cpp),無(wú)論使用makefile還是工程文件,無(wú)論直接備份或者源碼版本管理(codeplex、source forge、google code、github)都十分方便。
            posted on 2011-11-23 06:22 陳梓瀚(vczh) 閱讀(4194) 評(píng)論(20)  編輯 收藏 引用 所屬分類: 其他

            評(píng)論:
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 06:28 | 信息科學(xué)社
            4、2、3、1  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 17:17 | zxjay
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 19:22 | 裝配腦袋
            h + lib呢。。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 19:25 | 陳梓瀚(vczh)
            @裝配腦袋
            您不覺(jué)得lib比cpp用起來(lái)更麻煩嗎,還要#pragma lib,還要寫lib directory……  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則[未登錄](méi) 2011-11-23 19:36 | DJ
            4123

            不知為啥RSS訂閱里面別人博客的內(nèi)容串到你這里來(lái)了……  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 19:37 | 陳梓瀚(vczh)
            @DJ
            博客園的bug……  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-23 22:16 | XeCet
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-24 01:35 | zzzz
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-24 04:59 | ooseven
            當(dāng)然是靜態(tài)庫(kù),動(dòng)態(tài)庫(kù)我吃過(guò)大虧!,除非是動(dòng)態(tài)調(diào)用dll,如果靜態(tài)調(diào)用dll的話,意味著你的所有庫(kù)都需要用dll,包括mfc等。我好幾年前寫的程序現(xiàn)在幾乎無(wú)法運(yùn)行,也無(wú)法維護(hù),就是因?yàn)閯?dòng)態(tài)庫(kù)的問(wèn)題。首先,mfc的dll還得去下載舊版本,這個(gè)就麻煩點(diǎn),不是啥大問(wèn)題,大問(wèn)題在于調(diào)用到的一些其他類庫(kù)的舊版本很難辦,比如boost,比如xtremetoolkit...。為了回顧一下以前自己寫的小程序就要折騰這些,我最后就放棄了。所以從那以后我打死也不用動(dòng)態(tài)庫(kù)了!不然幾年以后又會(huì)遇到或者無(wú)法直接運(yùn)行,或者無(wú)法直接重新編譯的情況。
              回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-24 06:29 | 陳梓瀚(vczh)
            @ooseven
            那還是4吧,給你一個(gè)cpp,直接編譯進(jìn)去……等同與靜態(tài)庫(kù)。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-26 00:56 | ooseven
            @陳梓瀚(vczh)
            直接給源碼是最ok了,喜歡dll的,喜歡lib的,喜歡靜態(tài)調(diào)用的,喜歡動(dòng)態(tài)調(diào)用的,喜歡用intel c++編譯的...自己去折騰,皆大歡喜!  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則[未登錄](méi) 2011-11-26 21:11 | 姚冬
            工程大到一定程度,需要引入一個(gè)make工具了,CMake QMake都不錯(cuò)。
            GUI庫(kù)是必須放到DLL的,因?yàn)橛玫娜丝赡軙?huì)寫很大的程序,本身就分多個(gè)dll,GUI封裝里不可避免會(huì)有些全局變量,那么GUI庫(kù)在DLL里才容易保證全局變量的唯一性。
            另外GUI里還很要解決多堆問(wèn)題,就是在一個(gè)堆里分配也要回到這個(gè)堆去釋放,所以要避免模塊堆和線程堆的問(wèn)題,用DLL就可以擁有模塊內(nèi)存池。
            GUI里會(huì)產(chǎn)生大量小對(duì)象,會(huì)有內(nèi)存碎片化問(wèn)題導(dǎo)致性能問(wèn)題,內(nèi)存池是十分必要的。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-27 07:16 | guest
            只有一個(gè)cpp不便于源碼的管理。
            編譯成lib,在client所屬的頭文件使用#pragma lib。
            對(duì)于庫(kù)的目錄,可以設(shè)定到vc目錄或者項(xiàng)目目錄。

            贊同 姚冬 關(guān)于引入make的說(shuō)法,我也是寫windows程序,但是對(duì)于多個(gè)vs工程確實(shí)不好管理,現(xiàn)在都引入腳本來(lái)進(jìn)行update、build、build-install、引入資源等等工作,方便了好多。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-27 11:05 | 陳梓瀚(vczh)
            @guest
            你可以把需要的工程都放進(jìn)同一個(gè)solution,然后給各個(gè)工程的precompile和postcompile兩個(gè)步驟分別指定腳本,就可以F5一鍵部署了。如果這樣不夠用的話,可以用MSBUILD——免去編寫makefile的煩惱,可以直接編譯一個(gè)工程文件。這樣你就可以用腳本控制了。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-27 11:07 | 陳梓瀚(vczh)
            @姚冬
            如果不是若干個(gè)程序分享同一個(gè)復(fù)雜的界面的話,dll純屬浪費(fèi)。這跟程序本身的尺寸是沒(méi)有關(guān)系的。如果單純?yōu)榱藴p少每個(gè)二進(jìn)制文件的大小的話,進(jìn)程占用的總內(nèi)存會(huì)增大很多的。  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-28 05:06 | ooseven
            編譯成lib或dll完全可以交由用戶來(lái)做  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-28 16:10 | phoenixbing
            # re: C++類庫(kù)使用習(xí)慣投票一則 2011-11-29 07:59 | 王繼
            類似Boost的HPP文件,直接包含編譯就可以了  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2015-09-16 03:53 | liulun
            3、
            存在dll,并且使用比模板丑陋的方法來(lái)將本來(lái)使用模板做接口的功能暴露出來(lái)。


            強(qiáng)烈推薦第三種方法!
            對(duì)于go語(yǔ)言、rust語(yǔ)言、nim語(yǔ)言的開(kāi)發(fā)者,可以簡(jiǎn)單的封裝就能使用gac的強(qiáng)大圖形化功能,這種方法是最贊的!  回復(fù)  更多評(píng)論
              
            # re: C++類庫(kù)使用習(xí)慣投票一則 2015-09-16 03:58 | liulun
            這種投票辦法,非常不公平!??!

            來(lái)著兒投票的都是C++使用者,

            C語(yǔ)言、nim語(yǔ)言、rust語(yǔ)言、go語(yǔ)言的用戶要想使用gaclib該怎么辦啊,

            輪子兄行行好,聽(tīng)聽(tīng)我們的意見(jiàn).  回復(fù)  更多評(píng)論
              
            中文字幕精品久久| 久久久久久久波多野结衣高潮| 久久综合九色综合网站| 久久婷婷人人澡人人爽人人爱| 伊人久久大香线蕉AV色婷婷色| 日本欧美久久久久免费播放网| 一级做a爰片久久毛片人呢| 久久精品一区二区影院| 久久久精品人妻一区二区三区蜜桃| 一本色道久久99一综合| 国产精品美女久久久免费| 亚洲AV伊人久久青青草原| 久久天天躁狠狠躁夜夜avapp| 精品国产综合区久久久久久 | 国产高潮国产高潮久久久| 国产精品99久久精品爆乳| A级毛片无码久久精品免费| 99久久国产综合精品网成人影院| 久久久久久精品无码人妻| 色综合久久久久| 久久久精品2019免费观看| 久久性精品| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲成色WWW久久网站| 久久久WWW免费人成精品| 久久久噜噜噜久久熟女AA片| 亚洲а∨天堂久久精品| 久久精品国产91久久综合麻豆自制| 精品久久久中文字幕人妻| 午夜视频久久久久一区 | 麻豆一区二区99久久久久| 中文成人无码精品久久久不卡| 99久久婷婷国产一区二区| 狠狠色丁香久久婷婷综| 久久A级毛片免费观看| 久久久久久午夜成人影院| 香蕉久久夜色精品升级完成| 一本久久免费视频| 久久婷婷国产剧情内射白浆| 久久久久久午夜精品| 99久久这里只精品国产免费|