
Универсальная библиотека сжатия данных, реализующая форматы zlib, deflate и gzip, предоставляющая процедуры сжатия и распаковки для программных приложений.
БИБЛИОТЕКА СЖАТИЯ ДАННЫХ 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 (приветствуются добровольцы для написания страниц руководства, обращайтесь по адресу [email protected]). Пример использования библиотеки приведён в файле test/example.c, который также проверяет, что библиотека работает корректно. Другой пример приведён в файле test/minigzip.c. Сама библиотека сжатия состоит из всех исходных файлов в корневом каталоге.
Чтобы скомпилировать все файлы и запустить тестовую программу, следуйте инструкциям, приведённым в начале Makefile.in. Вкратце: "./configure; make test", и если всё прошло успешно, "make install" должно работать для большинства разновидностей Unix. Для Windows используйте один из специальных make-файлов в win32/ или contrib/vstudio/. Для VMS используйте make_vms.com.
Вопросы о zlib следует отправлять на [email protected] или Жилю Воллану [email protected] для версии DLL для Windows. Домашняя страница zlib: http://zlib.net/. Прежде чем сообщить о проблеме, пожалуйста, проверьте этот сайт, чтобы убедиться, что у вас последняя версия zlib; иначе получите последнюю версию и проверьте, сохраняется ли проблема.
ПОЖАЛУЙСТА, прочитайте FAQ по zlib http://zlib.net/zlib_faq.html перед тем, как обращаться за помощью.
Марк Нельсон [email protected] написал статью о zlib для январского выпуска 1997 журнала Dr. Dobb's Journal; копия статьи доступна по адресу 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/.
Perl-интерфейс к zlib, написанный Полом Маркессом [email protected], доступен на сайтах CPAN (Comprehensive Perl Archive Network), включая http://search.cpan.org/~pmqs/IO-Compress-Zlib/.
Python-интерфейс к zlib, написанный A.M. Kuchling [email protected], доступен в Python 1.5 и более поздних версиях, см. http://docs.python.org/library/zlib.html.
zlib встроен в tcl: http://wiki.tcl.tk/4610.
Экспериментальный пакет для чтения и записи файлов в формате .zip, написанный поверх zlib Жилем Волланом [email protected], доступен в каталоге contrib/minizip в составе zlib.
Примечания для некоторых целевых платформ:
Для версий DLL под Windows см. win32/DLL_FAQ.txt
Для 64-битной Irix файл deflate.c должен компилироваться без оптимизации. С -O один тест libpng завершается ошибкой. Тест работает в 32-битном режиме (с флагом компилятора -n32). Ошибка компилятора была сообщена в SGI.
zlib не работает с gcc 2.6.3 на DEC 3000/300LX под OSF/1 2.1; она работает при компиляции с cc.
На Digital Unix 4.0D (ранее OSF/1) на AlphaServer опция компилятора cc -std1 необходима для корректной работы gzprintf. Это настраивается с помощью configure.
zlib не работает на HP-UX 9.05 с некоторыми версиями /bin/cc. Она работает с другими компиляторами. Используйте "make test" для проверки вашего компилятора.
gzdopen не поддерживается на RISCOS или BEOS.
Для PalmOs см. http://palmzlib.sourceforge.net/
Благодарности:
Формат deflate, используемый zlib, был определён Филом Кацем. Спецификации deflate и zlib были написаны Л. Питером Дойчем. Спасибо всем, кто сообщал об ошибках и предлагал различные улучшения в zlib; их слишком много, чтобы перечислять здесь.
Уведомление об авторских правах:
(C) 1995-2012 Jean-loup Gailly и Mark Adler
Это программное обеспечение предоставляется «как есть», без каких-либо явных или подразумеваемых гарантий. Ни при каких обстоятельствах авторы не несут ответственности за любые убытки, возникшие в результате использования этого программного обеспечения.
Разрешается любому лицу использовать это программное обеспечение для любых целей, включая коммерческие приложения, а также изменять его и распространять на следующих условиях:
Jean-loup Gailly Mark Adler [email protected] [email protected]
Если вы используете библиотеку zlib в продукте, мы были бы признательны не получать длинные юридические документы для подписания. Исходные коды предоставляются бесплатно, но без каких-либо гарантий. Библиотека полностью написана Жан-Лу Гайи и Марком Адлером; она не включает сторонний код.
Если вы распространяете изменённые исходники, мы будем благодарны, если вы включите в файл ChangeLog историю изменений, описывающую ваши правки. Пожалуйста, прочитайте FAQ для получения дополнительной информации о распространении изменённых версий исходного кода.