
ZLIBデータ圧縮ライブラリ
zlib 1.2.7は汎用データ圧縮ライブラリです。すべてのコードはスレッドセーフです。zlibライブラリが使用するデータ形式は、ファイル内のRFC(Request for Comments)1950から1952で説明されています:http://tools.ietf.org/html/rfc1950 (zlib形式), rfc1951 (deflate形式), rfc1952 (gzip形式)。
圧縮ライブラリのすべての関数は、ファイルzlib.hに文書化されています(manページの作成ボランティア歓迎、連絡先は[email protected])。ライブラリの使用例は、ファイルtest/example.cに示されており、ライブラリが正しく動作するかもテストします。別の例はファイルtest/minigzip.cにあります。圧縮ライブラリ自体は、ルートディレクトリ内のすべてのソースファイルで構成されています。
すべてのファイルをコンパイルしてテストプログラムを実行するには、Makefile.inの先頭に記載されている指示に従ってください。簡単に言うと、「./configure; make test」を実行し、それが正常に終了したら、「make install」でほとんどのUnix系OSで動作するはずです。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でjava.util.zipパッケージを使用して利用可能で、http://java.sun.com/developer/technicalArticles/Programming/compression/ で文書化されています。
Paul Marquess [email protected] によって書かれたzlibのPerlインターフェースは、CPAN(Comprehensive Perl Archive Network)サイトで利用可能です。例: http://search.cpan.org/~pmqs/IO-Compress-Zlib/
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は、HP-UX 9.05の一部のバージョンの/bin/ccでは動作しません。他のコンパイラでは動作します。"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 および Mark Adler
このソフトウェアは「現状のまま」提供され、明示または黙示のいかなる保証も行われません。いかなる場合も、著作者はこのソフトウェアの使用から生じる損害に対して責任を負いません。
以下の制限に従うことを条件に、商用アプリケーションを含む任意の目的でこのソフトウェアを使用し、自由に改変および再配布することを許可します。
Jean-loup Gailly Mark Adler [email protected] [email protected]
製品でzlibライブラリを使用する場合、署名用の長大な法的文書を送付しないでいただけると幸いです。ソースは無料で提供されていますが、いかなる種類の保証もありません。このライブラリはJean-loup GaillyとMark Adlerによって完全に書かれており、サードパーティのコードは含まれていません。
改変したソースを再配布する場合は、ChangeLogファイルに変更内容を記録した履歴情報を含めていただけると幸いです。改変したソースバージョンの配布に関する詳細は、FAQをお読みください。