Minizip-NG هي مكتبة معالجة ZIP مكتوبة في C والتي يتم دعمها على Windows و MacOS و Linux.
تم تطويره وصيانته من قبل ناثان مينفازيري.
| اسم | وصف |
|---|---|
| يطور | أحدث رمز تطوير. |
| يتقن | أحدث إصدار مستقر. |
| 1.2 | التغييرات القديمة على Minizip الأصلي التي تتضمن تشفير Winzip AES ، تقسيم القرص ، I/O التخزين المؤقت وبعض الإصلاحات الإضافية. ليس ABI متوافق مع Minizip الأصلي. |
| 1.1 | Minizip الأصلي اعتبارًا من Zlib 1.2.11. |
تم تطوير Minizip في الأصل بواسطة Gilles Vollant في عام 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 | يتيح تشفير PKWAR التقليدي | على |
| MZ_WZAES | يتيح تشفير Winzip AES | على |
| MZ_OPENSSL | تمكين OpenSSL تشفير | يونيكس |
| MZ_LIBBSD | يبني مع libbsd crypto عشوائي | يونيكس |
| MZ_ICONV | يتيح تحويل تشفير ICONV | على |
| mz_compress_only | فقط دعم ضغط | عن |
| mz_decompress_only | دعم إلغاء الضغط فقط | عن |
| mz_file32_api | يبني باستخدام واجهة برمجة تطبيقات POSIX 32 بت | عن |
| mz_build_tests | يبني اختبار Minizip القابل للتنفيذ | عن |
| MZ_BUILD_UNIT_TESTS | يبني مشروع اختبار وحدة Minizip | عن |
| mz_build_fuzz_tests | يبني Minizip Fuzz Executables | عن |
| 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 بواسطة Hans Kristian Rosbach. |
| ZSTD | BSD | MZ_ZSTD | كتبه الفيسبوك. |
يستخدم هذا المشروع ترخيص ZLIB.
شكرًا لجميع الأشخاص الذين استغرقوا وقتًا للمساهمة في مراجعات الكود و/أو الاختبار و/أو التصحيحات. لم يكن هذا المشروع جيدًا بدونك.
بفضل جيل فولانت الذي يعتمد عليه هذا العمل في الأصل.
تم تعريف تنسيق الرمز البريدي بواسطة Phil Katz من PKWare.