摘要: 今天終于在流系統(tǒng)里面添加了Huffman的壓縮解壓算法,現(xiàn)在只需要將一個(gè)LZ77流加到Huffman流上面,就能同時(shí)使用兩種壓縮算法進(jìn)行壓縮了。我的Huffman算法使用了Canonical Huffman編碼方法進(jìn)行Huffman樹(shù)的生成。
閱讀全文
posted @
2009-01-10 09:16 陳梓瀚(vczh) 閱讀(3531) |
評(píng)論 (0) |
編輯 收藏
摘要: 這份代碼跟上一次相比,修正了以下部分:
1、可修改的Window Size。壓縮流會(huì)把Window Size寫(xiě)進(jìn)去,解壓流能夠自動(dòng)獲取。
2、發(fā)現(xiàn)冗余的地方,每一個(gè)標(biāo)記的壓縮塊節(jié)省了一位。
3、如果用戶一次性寫(xiě)入的字節(jié)不夠多則會(huì)緩存起來(lái),上一版本則是直接壓縮完。這樣會(huì)丟失某些原本可以壓縮的數(shù)據(jù),因此修正。
閱讀全文
posted @
2009-01-06 23:35 陳梓瀚(vczh) 閱讀(3062) |
評(píng)論 (6) |
編輯 收藏
摘要: 今天將我的VL_LZ77Stream修改成了可以設(shè)置窗口大小的壓縮流。我用了一些文件進(jìn)行壓縮和對(duì)比。
閱讀全文
posted @
2009-01-06 08:36 陳梓瀚(vczh) 閱讀(2299) |
評(píng)論 (1) |
編輯 收藏
摘要: 這個(gè)壓縮流是Vczh Library++ 2.0龐大的流與控制器系統(tǒng)的其中一個(gè)部分。我準(zhǔn)備將其改造成可調(diào)大小的,并且打算添加LZW與Huffman壓縮解壓算法。以下是用C++實(shí)現(xiàn)的代碼。
閱讀全文
posted @
2009-01-05 09:47 陳梓瀚(vczh) 閱讀(2774) |
評(píng)論 (5) |
編輯 收藏
摘要: 其實(shí)有了一整套的Kernel FP API之后,只需要插入幾個(gè)外部函數(shù)就可以讓Kernel FP繪圖了?,F(xiàn)在我們看一看這個(gè)Demo的樣子。
閱讀全文
posted @
2008-12-29 10:41 陳梓瀚(vczh) 閱讀(2731) |
評(píng)論 (0) |
編輯 收藏
摘要: 這次終于實(shí)現(xiàn)了兩個(gè)exe,一個(gè)是編譯器,一個(gè)是提供控制臺(tái)API的虛擬機(jī)。等提供GUI的虛擬機(jī)出來(lái)之后就開(kāi)放出來(lái)(內(nèi)有圖和代碼)。
閱讀全文
posted @
2008-12-26 08:07 陳梓瀚(vczh) 閱讀(2072) |
評(píng)論 (5) |
編輯 收藏
摘要: Kernel FP的MakeFile可以指定輸出文件、報(bào)告文件以及代碼文件,并且可以繼承其他的MakeFile。MakeFile的格式和分析器代碼如下:
閱讀全文
posted @
2008-12-24 05:20 陳梓瀚(vczh) 閱讀(1807) |
評(píng)論 (1) |
編輯 收藏
摘要: 當(dāng)我們的程序需要運(yùn)行在命令行環(huán)境下的時(shí)候,分解復(fù)雜的命令行參數(shù)往往成為一件不難但又麻煩的事情。我們經(jīng)常發(fā)現(xiàn).net的開(kāi)發(fā)工具的命令行格式都是"/parameterA:valueA /parameterB:valueB"。如果我們希望使用這種格式的命令行參數(shù)的話,如何分析就成為我們需要解決的一個(gè)問(wèn)題。
閱讀全文
posted @
2008-12-24 01:13 陳梓瀚(vczh) 閱讀(2203) |
評(píng)論 (2) |
編輯 收藏
摘要: 由于Kernel FP的編譯結(jié)果是獨(dú)立的,執(zhí)行的時(shí)候不需要源代碼的符號(hào)的參與,因此可以將編譯結(jié)果進(jìn)行序列化與反序列化。
閱讀全文
posted @
2008-12-23 00:50 陳梓瀚(vczh) 閱讀(1589) |
評(píng)論 (0) |
編輯 收藏
摘要: 為了讓宿主程序可以更加清楚一份Kernel FP代碼的內(nèi)容,我今天為Kernel FP添加了反射的API。
閱讀全文
posted @
2008-12-20 06:10 陳梓瀚(vczh) 閱讀(1433) |
評(píng)論 (0) |
編輯 收藏