三回目はlibbzip2を用いてbz2形式対応のデータ圧縮/解凍ソフトを作る.ファイルの入出力を行なうことによりモジュールの設計を勉強する.講義中に使われたスライドのPDFファイルと,スライドに入らない補足を示す.
if (argv[1] == "-d")
のようなコードではうまくいかない.そのための関数(及び使い方)は一回目の解読対象 echo.c から見つけ出すことができる.実行ファイルまで生成できたら,まず圧縮解凍が正しく行なわれるかをチェックする.チェックする方法(の一つ)として,圧縮前のファイルと,圧縮されてさらに解凍で得られたファイル(圧縮前ファイルと別名にすること)との比較でよい.例:対象ファイルを bz2.exe とする.
bz2 -c bz2.exe bz2.exe.bz2 bz2 -d bz2.exe.bz2 bz2 fc bz2.exe bz2
fc
で比較した結果が相違なしとなれば,プログラムが正しいと言える.
Last Modified: 2005年12月22日 10:40:13 JST, zhao