
Универсальная библиотека сжатия данных, реализующая форматы 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 (добровольцы для написания man-страниц приветствуются, обращайтесь по адресу [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], или Жилю Воллану (Gilles Vollant) [email protected] для версии DLL под Windows. Домашняя страница zlib: http://zlib.net/. Перед сообщением о проблеме, пожалуйста, проверьте этот сайт, чтобы убедиться, что у вас последняя версия zlib; в противном случае получите последнюю версию и проверьте, сохраняется ли проблема.
ПОЖАЛУЙСТА, прочитайте FAQ по zlib http://zlib.net/zlib_faq.html, прежде чем обращаться за помощью.
Марк Нельсон (Mark Nelson) [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, написанный Полом Маркессом (Paul Marquess) [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 Жилем Волланом (Gilles Vollant) [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 для корректной работы gzprintf необходима опция cc -std1. Это настраивается в configure.
zlib не работает на HP-UX 9.05 с некоторыми версиями /bin/cc. С другими компиляторами работает. Используйте "make test" для проверки вашего компилятора.
gzdopen не поддерживается на RISCOS или BEOS.
Для PalmOs см. http://palmzlib.sourceforge.net/
Благодарности:
Формат deflate, используемый zlib, был определён Филом Катцем (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 для получения дополнительной информации о распространении изменённых версий исходного кода.