MiniZip-NG ist eine in C geschriebene Zip-Manipulationsbibliothek, die unter Windows, MacOS und Linux unterstützt wird.
Entwickelt und gewartet von Nathan Moinvaziri.
| Name | Beschreibung |
|---|---|
| entwickeln | Neuester Entwicklungscode. |
| Master | Letzte stabile Veröffentlichung. |
| 1.2 | Alte Änderungen an Original -Minizip, die Winzip AES -Verschlüsselung, Festplattenaufteilung, E/A -Pufferung und einige zusätzliche Korrekturen umfassen. Nicht abi kompatibel mit Original -Minizip. |
| 1.1 | Original Minizip ab ZLIB 1.2.11. |
Minizip wurde ursprünglich 1998 von Gilles Vollant entwickelt. Es wurde erstmals in der ZLIB -Verteilung als zusätzlichen Codebeitrag in ZLIB 1.1.2 aufgenommen. Seitdem wurde es immer wieder verbessert und von vielen Menschen dazu beigetragen. Das ursprüngliche Projekt befindet sich weiterhin in der ZLIB -Verteilung, die von Mark Adler aufrechterhalten wird.
Die Motivation hinter diesem Repository war die Notwendigkeit neuer Funktionen und Fehlerbehebungen in der ursprünglichen Bibliothek, die über einen langen Zeitraum nicht aufrechterhalten worden war. Der Code wurde größtenteils umgestaltet und umgeschrieben, um die Wartbarkeit und Lesbarkeit zu verbessern. Für Verbraucher der ursprünglichen Minizip -Bibliothek wurde eine Kompatibilitätsschicht bereitgestellt.
Um Projektdateien für Ihre Plattform zu generieren:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Name | Beschreibung | Standardwert |
|---|---|---|
| Mz_compat | Aktiviert die Kompatibilitätsschicht | AN |
| MZ_ZLIB | Ermöglicht die ZLIB -Komprimierung | AN |
| MZ_BZIP2 | Aktiviert die BZIP2 -Kompression | AN |
| MZ_LZMA | Ermöglicht die LZMA & XZ -Komprimierung | AN |
| Mz_zstd | Ermöglicht die ZSTD -Komprimierung | AN |
| MZ_LIBCOMP | Ermöglicht die Apple -Komprimierung | APFEL |
| Mz_fetch_libs | Ermöglicht das Abrufen von Bibliotheken von Drittanbietern, wenn nicht gefunden wird | Win32 |
| Mz_force_fetch_libs | Ermöglicht es, immer Bibliotheken von Drittanbietern zu holen | AUS |
| Mz_pkcrypt | Ermöglicht die traditionelle Verschlüsselung von PKware | AN |
| MZ_WZAES | Ermöglicht Winzip AES Verschlüsselung | AN |
| MZ_OPENSSL | Ermöglicht die OpenSSL -Verschlüsselung | Unix |
| Mz_libbsd | Baut mit libbsd krypto random | Unix |
| MZ_ICONV | Aktiviert die IconV -Codierungskonvertierung | AN |
| MZ_COMPRESS_ONLY | Nur die Komprimierung unterstützen | AUS |
| MZ_DECOMPRESS_ONLY | Nur Dekompression unterstützen | AUS |
| MZ_FILE32_API | Erstellt mit POSIX 32-Bit-Datei-API API | AUS |
| Mz_build_tests | Erstellt Minizip -Test ausführbare Datei | AUS |
| Mz_build_unit_tests | Builds Minizip Unit -Testprojekt | AUS |
| Mz_build_fuzz_tests | Baut Minizip Fuzz Executables auf | AUS |
| MZ_CODE_COVERAGE | Erstellen Sie mit Codeabdeckungsflaggen | AUS |
| MZ_Sanitizer | Erstellen Sie mit Code -Desinfektionsmittel (Speicher, Thread, Adresse, undefiniert) | |
| MZ_LIB_SUFFIX | Bibliotheksname -Suffix für Verpackungen |
Basierend auf den ausgewählten CMake-Optionen können Bibliotheken von Drittanbietern erforderlich sein. Wenn das System bereits über die Bibliothek installiert ist, wird es verwendet. Andernfalls wird CMAKE den Quellcode für die Bibliothek von seinem offiziellen Git -Repository abgerufen und ihn in der Option MZ_FETCH_LIBS aktiviert.
| Projekt | Lizenz | CMAKE -Option | Kommentare |
|---|---|---|---|
| BZIP2 | Lizenz | MZ_BZIP2 | Geschrieben von Julian Seward. |
| LIBLZMA | Öffentlich zugängliche | MZ_LZMA | Geschrieben von Igor Pavlov und Lasse Collin. |
| Zlib | Zlib | MZ_ZLIB | Geschrieben von Mark Adler und Jean-Loup Gailly. Oder alternativ zlib-ng von hans kristian rosbach. |
| ZSTD | BSD | MZ_ZSTD | Geschrieben von Facebook. |
Dieses Projekt verwendet die ZLIB -Lizenz.
Vielen Dank an alle Personen, die sich die Zeit genommen haben, Code -Bewertungen, Testen und/oder Patches beizutragen. Dieses Projekt wäre ohne Sie nicht so gut gewesen.
Dank Gilles Vollant, auf der diese Arbeit ursprünglich basiert.
Das ZIP -Format wurde von Phil Katz von PKware definiert.