Minizip-NG-это библиотека манипуляций с ZIP, написанная в C, которая поддерживается в Windows, MacOS и Linux.
Разработано и поддерживается Натаном Моинвазири.
| Имя | Описание |
|---|---|
| развивать | Последний код разработки. |
| владелец | Самый последний стабильный релиз. |
| 1.2 | Старые изменения в оригинальном Minizip, который включает в себя шифрование Winzip AES, расщепление дисков, буферизацию ввода -вывода и некоторые дополнительные исправления. Не ABI, совместим с оригинальным Minizip. |
| 1.1 | Оригинальный Minizip как Zlib 1.2.11. |
Minizip был первоначально разработан Жилем Воллантом в 1998 году. Он был впервые включен в распределение Zlib в качестве дополнительного вклада кода, начиная с Zlib 1.1.2. С тех пор это постоянно улучшалось и способствовало многим людям. Первоначальный проект все еще можно найти в распределении Zlib, который поддерживается Марком Адлером.
Мотивацией этого репозитория была необходимость в новых функциях и исправлениях ошибок в оригинальной библиотеке, которая не поддерживалась в течение длительного периода времени. Код был в значительной степени рефактор и переписан, чтобы помочь улучшить обслуживание и читаемость. Уровень совместимости был предоставлен для потребителей оригинальной библиотеки Minizip.
Чтобы сгенерировать файлы проекта для вашей платформы:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Имя | Описание | Значение по умолчанию |
|---|---|---|
| Mz_compat | Включает уровень совместимости | НА |
| Mz_zlib | Включает сжатие Zlib | НА |
| Mz_bzip2 | Включает сжатие BZIP2 | НА |
| Mz_lzma | Включает сжатие LZMA & XZ | НА |
| Mz_zstd | Включает сжатие ZSTD | НА |
| Mz_libcomp | Позволяет сжатие яблока | ЯБЛОКО |
| Mz_fetch_libs | Позволяет извлекать сторонние библиотеки, если не найдено | Win32 |
| Mz_force_fetch_libs | Позволяет всегда получать сторонние библиотеки | ВЫКЛЮЧЕННЫЙ |
| Mz_pkcrypt | Включает в себя традиционное шифрование PKWare | НА |
| Mz_wzaes | Позволяет шифрованию Winzip AES | НА |
| Mz_openssl | Включает шифрование OpenSSL | Unix |
| Mz_libbsd | Строится с Crypto Random Libbsd | Unix |
| Mz_iconv | Включает преобразование кодирования ICONV | НА |
| Mz_compress_only | Только поддерживает сжатие | ВЫКЛЮЧЕННЫЙ |
| Mz_decompress_only | Поддержите только декомпрессию | ВЫКЛЮЧЕННЫЙ |
| Mz_file32_api | Строится с использованием 32-битного файла API POSIX | ВЫКЛЮЧЕННЫЙ |
| Mz_build_tests | Создает исполняемый файл тестирования Minizip | ВЫКЛЮЧЕННЫЙ |
| Mz_build_unit_tests | Строиет проект для тестирования Minizip модуля | ВЫКЛЮЧЕННЫЙ |
| Mz_build_fuzz_tests | Создает исполняемые файлы minizip fuzz | ВЫКЛЮЧЕННЫЙ |
| Mz_code_coverage | Построить с флагами покрытия кода | ВЫКЛЮЧЕННЫЙ |
| Mz_sanitizer | Построить с помощью дезинфицирующего средства кода (память, поток, адрес, неопределенное) | |
| Mz_lib_suffix | Суффикс имени библиотеки для упаковки |
Сторонние библиотеки могут потребоваться на основе выбранных параметров Cmake. Если в системе уже установлена библиотека, то она будет использоваться, в противном случае Cmake будет извлекать исходный код для библиотеки из своего официального репозитория GIT и скомпилировать его при включении параметра MZ_FETCH_LIBS .
| Проект | Лицензия | Вариант Cmake | Комментарии |
|---|---|---|---|
| Bzip2 | лицензия | MZ_BZIP2 | Написано Джулианом Сьюардом. |
| liblzma | Общественный достояние | MZ_LZMA | Написано Игором Павловым и Лассе Коллин. |
| Злиб | Злиб | MZ_ZLIB | Написано Марком Адлером и Жан-Лап Гаилли. Или альтернативно, Zlib-ng Ганса Кристиана Росбаха. |
| zstd | BSD | MZ_ZSTD | Написано Facebook. |
Этот проект использует лицензию Zlib.
Спасибо всем людям, которые нашли время, чтобы внести вклад в обзоры кода, тестирование и/или исправления. Этот проект не был бы таким хорошим без вас.
Благодаря Жилю Волланту, на котором эта работа основана на основе.
Формат ZIP был определен Филом Кацем из PKWare.