
ZLIB データ圧縮ライブラリ
zlib 1.2.7 は汎用のデータ圧縮ライブラリです。すべてのコードはスレッドセーフです。zlib ライブラリが使用するデータ形式は、ファイル http://tools.ietf.org/html/rfc1950 (zlib 形式)、rfc1951 (deflate 形式)、rfc1952 (gzip 形式) の RFC (Request for Comments) 1950 から 1952 で説明されています。
圧縮ライブラリのすべての関数は、ファイル zlib.h に文書化されています (man ページの執筆ボランティアを歓迎します。[email protected] までご連絡ください)。ライブラリの使用例はファイル test/example.c に示されており、ライブラリが正しく動作することもテストされます。もう 1 つの例はファイル test/minigzip.c に示されています。圧縮ライブラリ自体は、ルートディレクトリのすべてのソースファイルで構成されています。
すべてのファイルをコンパイルしてテストプログラムを実行するには、Makefile.in の先頭に記載されている指示に従ってください。要するに "./configure; make test" を実行し、それがうまくいけば、ほとんどの Unix 系で "make install" が動作するはずです。Windows の場合は、win32/ または contrib/vstudio/ にある特別な makefile のいずれかを使用してください。VMS の場合は、make_vms.com を使用してください。
zlib に関する質問は [email protected] に送ってください。Windows DLL 版については Gilles Vollant [email protected] に送ってください。zlib のホームページは http://zlib.net/ です。問題を報告する前に、このサイトで最新版の zlib を使用していることを確認してください。そうでない場合は最新版を入手し、問題がまだ存在するかどうかを確認してください。
助けを求める前に、zlib FAQ http://zlib.net/zlib_faq.html をお読みください。
Mark Nelson [email protected] は、Dr. Dobb's Journal の 1997 年 1 月号に zlib に関する記事を執筆しました。記事のコピーは http://marknelson.us/1997/01/01/zlib-engine/ で入手できます。
バージョン 1.2.7 で行われた変更は、ファイル ChangeLog に文書化されています。
サポートされていないサードパーティの貢献は、ディレクトリ contrib/ に提供されています。
zlib は、java.util.zip パッケージを使用して Java で利用でき、http://java.sun.com/developer/technicalArticles/Programming/compression/ に文書化されています。
Paul Marquess [email protected] によって書かれた zlib の Perl インターフェースは、http://search.cpan.org/~pmqs/IO-Compress-Zlib/ を含む CPAN (Comprehensive Perl Archive Network) サイトで入手できます。
A.M. Kuchling [email protected] によって書かれた zlib の Python インターフェースは、Python 1.5 以降で利用できます。http://docs.python.org/library/zlib.html を参照してください。
zlib は tcl に組み込まれています: http://wiki.tcl.tk/4610 。
Gilles Vollant [email protected] によって zlib の上に書かれた、.zip 形式のファイルを読み書きする実験的なパッケージは、zlib の contrib/minizip ディレクトリで入手できます。
いくつかのターゲットに関する注意:
Windows DLL 版については、win32/DLL_FAQ.txt を参照してください。
64 ビット Irix の場合、deflate.c は最適化なしでコンパイルする必要があります。-O を付けると、libpng テストの 1 つが失敗します。テストは 32 ビットモード (-n32 コンパイラフラグ) で動作します。このコンパイラのバグは SGI に報告済みです。
zlib は、OSF/1 2.1 上の DEC 3000/300LX では gcc 2.6.3 で動作しません。cc でコンパイルすると動作します。
AlphaServer 上の Digital Unix 4.0D (旧 OSF/1) では、gzprintf を正しく動作させるために cc オプション -std1 が必要です。これは configure によって処理されます。
zlib は、一部のバージョンの /bin/cc を搭載した HP-UX 9.05 では動作しません。他のコンパイラでは動作します。"make test" を実行してコンパイラを確認してください。
gzdopen は RISCOS または BEOS ではサポートされていません。
PalmOs については、http://palmzlib.sourceforge.net/ を参照してください。
謝辞:
zlib が使用する deflate 形式は Phil Katz によって定義されました。deflate と zlib の仕様は L. Peter Deutsch によって書かれました。zlib に問題を報告し、さまざまな改良を提案してくださったすべての方々に感謝します。ここで名前を挙げるには多すぎます。
著作権表示:
(C) 1995-2012 Jean-loup Gailly and Mark Adler
このソフトウェアは、明示的または暗黙的な保証なしに「現状のまま」提供されます。このソフトウェアの使用に起因するいかなる損害についても、著作者は責任を負いません。
以下の制限に従うことを条件に、商用アプリケーションを含むあらゆる目的でこのソフトウェアを使用し、自由に変更および再配布する許可が全員に与えられます。
Jean-loup Gailly Mark Adler [email protected] [email protected]
製品で zlib ライブラリを使用する場合、署名用の長大な法的文書を送付しないでいただけると幸いです。ソースは無料で提供されますが、いかなる種類の保証もありません。ライブラリは Jean-loup Gailly と Mark Adler によって完全に書かれており、サードパーティのコードは含まれていません。
変更したソースを再配布する場合は、ファイル ChangeLog に変更内容を記録した履歴情報を含めていただけると幸いです。変更されたソースバージョンの配布に関する詳細は、FAQ をお読みください。