<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      我想很多人都在網(wǎng)上下載過一些示例代碼,或者收到一些別人給的示例代碼。 通常為了方便,都是打成一個壓縮包的形式。 不過,有些人做事比較馬虎,經(jīng)常就是直接將VS生成的解決方案目錄直接打包, 這樣就會包含大量垃圾文件,諸如:obj目錄下的所有文件,而且有時bin目錄還有二個目錄,PDB文件有二份, 甚至連xxx.vshost.exe文件也有二份!更讓人無語的是,有些人用SVN這種源代碼管理軟件,每個目錄還有個.svn目錄!

      這種做法顯然很容易將一個不大的項目搞成一個比較大的壓縮包,這種壓縮包一旦做好,上傳也慢,人家下載也慢,還會浪費許多服務(wù)器資源, 下載到這種壓縮包,只能讓人無語了。沒辦法,有些人就是很懶,而且那些壓縮軟件也不懂這是個源代碼目錄,反正是見文件就壓縮! 雖然很悲劇,但悲劇卻一直在重復(fù)上演!現(xiàn)實就是這樣,估計有些人已經(jīng)麻木了!

      我是個追求完美的人,自然是不希望讓悲劇在我這里重復(fù)上演。 我不希望浪費我的上傳時間,不希望浪費服務(wù)器的硬盤資源,不希望浪費服務(wù)器的帶寬,也不希望浪費所有網(wǎng)友的下載時間, 更不希望有人會因此而罵我。因此我每次做出來的壓縮包是不包含那些垃圾文件的。 我是如何做的呢?很簡單啊,不要把一些垃圾文件打包進去不就好了嗎?還要怎樣?

      不過,我也很理解一些懶人,每次打包前去把這些文件找出來,刪除它們,也是有些麻煩。 當然了,我也不愿意每次都做這種機械的事情,我也想偷懶。

      嗯,既然打包前刪除這些垃圾文件是件機械的事情,那么能不能搞個程序去做呢,我是程序員啊。

      終于有一天,我也受不了了,尤其是我平時喜歡寫點小東西,每天改了之后要備份,也要用壓縮包,但我不想浪費硬盤空間啊。 在一次一次地被那些壓縮軟件折磨后,我還是選擇自己來設(shè)計一個工具來專門解決這個問題。 不就是個壓縮的事情不好解決嘛,那我就自己做吧,反正現(xiàn)在的壓縮類庫是一大把, 不過,我最終還是選擇了Windows自帶的FCI/FDI接口,它能直接生成cab格式的壓縮包,且現(xiàn)在流行的各種壓縮軟件都能支持它。 選擇它還有其它原因:1.我早在使用C#之前就已經(jīng)使用過它了,有現(xiàn)成的包裝庫(C語言版的,速度還不錯),2.由于是Windows自帶的接口,因此不需要引入額外的組件,工具可以保持較小的體積, 3.cab算法的壓縮率還不錯,比zip要好(與rar相當,比7z差點)。

      今天,我將向大家推薦一個我?guī)缀跆焯煸谟玫墓ぞ摺K芎芡昝赖慕鉀Q以上問題,它還有其它功能,我也非常喜歡它。下面,我就來介紹此工具。

      記住哦,這個工具的名字叫:FishCabTool

      工具介紹

      來看看我的工具吧,總共由4個文件組成:

      雖然是4個文件,但依然很小,離300K還有些距離哦。 下面來依次介紹這4個文件的用途:

      1. FishCabToolHelp.chm,它是一個幫助文件,介紹了工具的特色功能,操作方式,以及其它說明:

      2. FishCabTool.exe,它是這個工具的主程序了,是一個WinForm程序,運行界面如下:

      通常,并不需要直接運行它,而是從資源管理器的上下文菜單中啟動它,操作方式與現(xiàn)今流行的壓縮軟件一樣,如下圖。

      3. FishCabToolExt.dll,它是一個Windows資源管理器的插件,可以讓我的工具也能像一些壓縮軟件一樣, 直接在Windows資源管理器的右鍵菜單中操作,如下圖:

      為了不影響操作體驗,這個插件采用ATL的方式實現(xiàn),因此速度還是很不錯的。 說到速度,再給個具體的數(shù)據(jù)吧:當年在開發(fā)這個工具時,是在一臺(02年的)老機器上進行的,由于機器配置較差,所以性能相當敏感。 測試時我選擇Windows/System32文件夾下的所有文件,右擊鼠標并測量菜單出現(xiàn)的時間,WinRar V2.6花了27秒,7z V4.x花了差不多8秒,我的工具還不到3秒。 所以,不要擔心這個插件的會影響您的機器性能。

      說明:FishCabToolExt.dll采用Unicode方式編寫,所以理論上即使不是簡體中文的Windows下也能正常顯示漢字。

      4. FishCabLibU.dll,它是一個包裝層,用于封裝Windows的FCI/FDI接口,因為這二個接口是基于C的,且接口較為復(fù)雜, 我也只好用C來封裝了,并以標準的導(dǎo)出函數(shù)提供給其它編程語言調(diào)用。 導(dǎo)出的API函數(shù)如下圖:

      在寫這篇博客時,看到當年給這些API取的名字,我也郁悶了:這些名字也太亂了吧。哎,2004年咱的命名規(guī)范還真差勁啊。

      FCI/FDI是Windows的文件壓縮接口/文件解壓縮接口的簡稱。它提供了操作CAB壓縮包的具體實現(xiàn)算法,該接口涉及一大堆C風格的回調(diào)函數(shù)。
      微軟提供的關(guān)于此接口的SDK文檔:點擊此處下載(微軟的網(wǎng)站上找不到了,遺憾中)

      我封裝的接口是一種簡化版本,各個API函數(shù)已經(jīng)是簡單的數(shù)據(jù)類型,因此使用起來會比較容易,且提供Unicode和非Unicode二套API, 如果您也對cab格式感興趣,并希望使用我的FishCabLibU.dll,請回復(fù),我可以提供C#版本的包裝類。

      功能介紹

      正如本文前面的幫助文件截圖所示,這個小工具有以下功能:

      1. 專為備份源代碼而設(shè)計,可以選擇性地排除源代碼目錄中一些不需要備份的文件。
      如:obj目錄及.pdb和其它源代碼版本控制信息之類的“垃圾”文件。
      具體哪些文件不需要在壓縮時加入壓縮包,程序提供如下的設(shè)置界面來控制:

      2. 操作方式和現(xiàn)今流行的壓縮軟件一致,直接在資源管理器的右鍵菜單中操作。
      前面在介紹FishCabToolExt.dll時已有說明,這里再次引用那二張圖片:

      3. 生成的壓縮包采用cab的壓縮格式,兼容現(xiàn)今流行的各類壓縮軟件。
      cab格式其實早就存在了,至少也有15年以上歷史。此文件格式由微軟開發(fā),且在微軟的很多安裝包中都在使用這種格式。 由于歷史悠久,且文件格式公開,因此現(xiàn)今流行的各類壓縮軟件都支持它。
      注意:WinRar對cab的支持不夠好,如果cab采用UTF-8編碼方式創(chuàng)建包內(nèi)文件名,在WinRar中將會看到亂碼。 而7z就沒有問題,當然了,我的工具也能正確地解包。

      4. 壓縮包的文件名包含當天的操作日期,便于版本管理及日后查找。
      前面說到我平時喜歡在業(yè)余時間寫點小工具或者小項目,自然就會面對源代碼的版本管理問題。 但我卻不想為此而安裝一個龐大的源代碼管理軟件,感覺完全沒有必要。通常就是直接把項目目錄打包,然后在文件名上添加當天日期。 正是由于這個原因,這個工具會自動根據(jù)目錄名稱以及當天日期,生成一個合適的壓縮包文件名。 可以參見前面程序的主界面截圖。說明:按F12可以去掉文件名中的日期部分。

      5. 更靈活的備份選擇,可以將多個目錄及多個分區(qū)中的某些目錄或文件壓縮到一個壓縮包中。
      我的工具還可以將來自于不同磁盤分區(qū)的文件打包在一個壓縮文件中。 操作方法也很簡單:直接將需要壓縮的文件或者文件夾拖動主窗口中即可,如下圖:

      程序生成的壓縮包用7z打開的界面如下:

      6. 可以方便地獲取一個目錄或文件的完整路徑名。
      FishCabToolExt.dll中還有一個我經(jīng)常用到的功能就是:當您在右擊一個文件或者文件夾時,可以非常方便地獲取它的所在全路徑。 效果圖前面有,請參考前文。

      7. 可以方便地從任何目錄打開命令行窗口。
      我比較喜歡用Windows Server 2003,可是每當以命令行方式執(zhí)行一些任務(wù)時,都要打開【運行】窗口,輸入【cmd】后,再切換路徑,太麻煩了。 FishCabToolExt.dll中有個功能就可以很輕松地解決這個繁瑣的過程。您只需要在Windows資源管理器中右擊目錄,或者在目錄窗口的空白處右擊鼠標, 點擊菜單【從這里打開命令行窗口】就可以了,此時,您會發(fā)現(xiàn),命令行窗口的當前目錄就是您需要的目錄。效果圖前面有,請參考前文。

      壓縮效果

      為了證明我的工具對于源代碼目錄壓縮的效果是有明顯改善的,現(xiàn)在我來將我的工具與7-Zip做個比較 。
      首先,我要說明一下,7-Zip是目前全球最棒的壓縮軟件,它有著最高的壓縮率。
      但它唯一遺憾的是就是 不能自動在壓縮時過濾不必要的垃圾文件(相對于源代碼來說),因此最終產(chǎn)生的壓縮包并不是最小的。

      首先,我打開VS2008,創(chuàng)建一個ConsoleApplication,然后不修改任何設(shè)置,并寫了如下代碼:

      namespace ConsoleApplication1
      {
          class Program
          {
              static void Main(string[] args)
              {
                  Console.WriteLine("Hello Fish.");
              }
          }
      }
      

      再來編譯吧,我將這個項目按debug, release方式都編譯了一次。

      然后,我請出我安裝的7-Zip V9.2把這個項目目錄做了個壓縮包。然后,我又用我的工具也做了個壓縮包。二個包的大小如下:

      有圖有真相,我就不多解釋了。

      補充說明

      • 默認的參數(shù)是按照C#項目及SVN版本控制軟件而設(shè)置的,如有其它的備份要求,請重新設(shè)置參數(shù)。
      • 默認的參數(shù)并沒有采用最好的壓縮質(zhì)量,如果你需要較高的壓縮質(zhì)量,那么請自行調(diào)整。
      • 運行本程序需要 .net Frarmework 2.0
      • 由于FishCabToolExt.dll是個ATL COM,由32位的VC++6編譯器編譯,因此這個插件只能在32位的Windows中運行。
        不過,F(xiàn)ishCabTool.exe是個采用C#編寫的WinForm程序,且要求以32位方式運行,因此如果在64位的Windows中,那么只能從開始菜單中啟用本程序。
        此時,程序仍能正常運行,只是不能從資源管理器的右鍵菜單中啟動。

      如何干凈的卸載本工具

      我寫的是一個我認為有用的小工具,而非流氓軟件。如果您認為它沒有任何優(yōu)點,請按如下方法卸載它。

      由于FishCabToolExt.dll是個Windows資源管理器的插件,它一旦被加載,就不能立即卸載了。 具體方法請參考下文:

      • FishCabTool的安裝程序可以非常干凈地將FishCabTool從你的電腦上刪除(包括所有文件及注冊表項)。
      • 如需卸載,請關(guān)閉全部資源管理器窗口(建議注銷后重新登錄),然后直接打開“控制面板”中的“添加或刪除程序”,選擇刪除FishCabTool即可。
      • 注意:由于FishCabTool有一部分作為資源管理器的插件會被自動加載,所以在卸載時一定要保證關(guān)閉全部資源管理器窗口(包括桌面進程)。

      上傳代碼到博客園

      由于博客園的后臺操作界面只支持三種格式的壓縮包:zip, rar, 7z ,所以如果您打算用這個工具打包您的代碼并上傳到博客園時, 請修改文件名,在后面加上 .7z
      例如:我的博客【客戶端的異步操作】就提供一些示例代碼,我用工具打包后,生成的文件名是【AsyncClient_20111023.cab】, 然后我將文件名修改為【AsyncClient_20111023.cab.7z】,就可以上傳了。
      可以放心的是:7-Zip 是可以識別這種改名后的文件。

      由于現(xiàn)在知道CAB格式的人越來越少,可能還有些網(wǎng)站也不能支持直接上傳,那么可按這種方式修改一下擴展名。

      在此,我發(fā)出一個倡議:從現(xiàn)在起,如果您要與他人分享您的示例代碼,那么請在打包時,不要包含不必要的垃圾文件。
      因為那些垃圾文件會:浪費您的上傳時間,浪費服務(wù)器的硬盤資源,浪費服務(wù)器的帶寬,浪費所有網(wǎng)友的下載時間。
      舉手之勞,利人利已。

      說明:工具可免費使用,沒有版權(quán)限制。

      點擊此處下載安裝程序(2011-10-30更新)

      posted on 2011-10-30 20:46  Fish Li  閱讀(25031)  評論(61)    收藏  舉報
      主站蜘蛛池模板: 亚洲成在人线av无码| 精品国产乱码久久久久久影片| 亚洲精品一区二区三区色| 浮妇高潮喷白浆视频| 起碰免费公开97在线视频| 国产一级三级三级在线视| 成在线人视频免费视频| 高潮潮喷奶水飞溅视频无码| 日韩精品av一区二区三区| 一本久道久久综合中文字幕 | 波多野结衣av无码| 国内视频偷拍一区,二区,三区| 精品免费看国产一区二区| 国产精品亚洲欧美大片在线看| 国产亚洲精品成人aa片新蒲金| 亚洲精品日韩久久精品| 99热国产这里只有精品9| 中文字幕日韩国产精品| 亚洲欧洲∨国产一区二区三区| 国产精品店无码一区二区三区| 无码人妻一区二区三区AV| 免费费很色大片欧一二区| 国产婷婷综合在线视频| 日韩av高清在线看片| 亚洲v欧美v国产v在线观看| 最新亚洲av日韩av二区| 91精品午夜福利在线观看| 精品少妇无码一区二区三批| 日本一区二区在线高清观看| 奉新县| 久久综合激情网| 国产偷窥熟女精品视频大全| 免费看黄色亚洲一区久久| 国产精品中文字幕综合| 国产精品v欧美精品∨日韩| 亚洲综合在线一区二区三区| 日本久久精品一区二区三区| 日本深夜福利在线观看| 免费无码黄十八禁网站| 亚洲第一极品精品无码久久| 国产精自产拍久久久久久蜜|