我最近寫了一個Canonical Huffman壓縮算法的實現。我有一個500kb的測試文件,在Visual Studio 2008中運行調試和發佈版本時可以壓縮到大約250kb。但是,當我直接從可執行文件運行發行版時,測試文件僅壓縮到大約330kb。爲什麼C++ fwrite()在release中產生更大的輸出?
我認爲使用fwrite()編寫文件時出現了問題。我測試了該程序,並確認解壓縮文件始終生成正確的未壓縮文件。
有誰知道爲什麼這可能是?基於從何處啓動的文件,同一個可執行文件如何產生不同大小的輸出?
你可能不得不將這個問題分解成一個小問題。你怎麼能確定fwrite正在做一些不同的事情?因爲你正在進行壓縮,所以兩個文件解壓縮的平等嗎? – mmr 2010-04-20 00:13:56
你看過文件的內容,看看有什麼不同嗎? – 2010-04-20 00:14:48
這兩個版本的文件是否有效? – 2010-04-20 00:42:38