• <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  評論-2670  文章-0  trackbacks-0
                因為GacUI文件漸漸增多,為了讓大家便于使用庫,因此有下列三個選項,如果大家有空就評論,針對喜愛程度排序之:

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

                我自己的傾向是使用4,因為某些原因,一旦把代碼寫進dll,有一些優美的模板實現的接口將被迫打散(譬如說stl,這些只是例子,我沒有使用stl),所以覺得有些不爽。而且只添加兩個文件(一個.h和一個.cpp),無論使用makefile還是工程文件,無論直接備份或者源碼版本管理(codeplex、source forge、google code、github)都十分方便。
            posted on 2011-11-23 06:22 陳梓瀚(vczh) 閱讀(4184) 評論(20)  編輯 收藏 引用 所屬分類: 其他

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

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

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


            強烈推薦第三種方法!
            對于go語言、rust語言、nim語言的開發者,可以簡單的封裝就能使用gac的強大圖形化功能,這種方法是最贊的!  回復  更多評論
              
            # re: C++類庫使用習慣投票一則 2015-09-16 03:58 | liulun
            這種投票辦法,非常不公平!!!

            來著兒投票的都是C++使用者,

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

            輪子兄行行好,聽聽我們的意見.  回復  更多評論
              
            青青久久精品国产免费看| 久久天天躁狠狠躁夜夜avapp | 成人午夜精品久久久久久久小说| 久久不见久久见免费视频7| 精品久久一区二区三区| 精品国产一区二区三区久久蜜臀| 久久乐国产精品亚洲综合| 久久久久精品国产亚洲AV无码| 国产精品久久久亚洲| 久久久久国色AV免费看图片| 伊人久久大香线蕉AV色婷婷色| 久久国产精品国产自线拍免费| 伊人久久亚洲综合影院| 久久久久久a亚洲欧洲aⅴ| 综合网日日天干夜夜久久| 91精品国产91久久久久久| 久久久久国产精品熟女影院| 久久久久国产一级毛片高清板| 久久久久人妻一区精品性色av| 人妻无码久久精品| 日本三级久久网| 精品国产乱码久久久久久郑州公司| 亚洲色欲久久久久综合网| 久久国产精品视频| 亚洲国产精品久久久久| 亚洲精品高清国产一线久久| 日日狠狠久久偷偷色综合免费| 欧美久久综合性欧美| 国产亚洲精品美女久久久| 中文字幕无码精品亚洲资源网久久| 人妻中文久久久久| 久久男人中文字幕资源站| 国产成人精品久久一区二区三区av | 中文字幕无码精品亚洲资源网久久 | 2020最新久久久视精品爱| 欧洲精品久久久av无码电影| 免费一级做a爰片久久毛片潮| 91亚洲国产成人久久精品| 婷婷综合久久狠狠色99h| 国内精品久久国产大陆| 九九久久99综合一区二区|