سؤال

أرغب في إنشاء تنسيق ملف لتطبيقي مثل Quake وOO وMS Office 07.

في الأساس مجلد مضغوط غير مضغوط، أو ملف tar.

أحتاج إلى أن يكون هذا عبر النظام الأساسي (mac و windows).

هل يمكنني فعل شيء ما عبر موجه الأوامر وباش؟

هل كانت مفيدة؟

المحلول

ألق نظرة على المصدر المفتوح 7Zip تنسيق الضغط.لتلبية احتياجاتك الخاصة، يمكنك استخدامه في وضع "الأرشفة"، بدون ضغط ولكن سريع جدًا.

فهو يوفر SDK قوي، LZMA، من الموقع:

"LZMA هي طريقة الضغط الافتراضية والعامة لتنسيق 7z في برنامج 7-Zip.يوفر LZMA نسبة ضغط عالية وإلغاء ضغط سريع جدًا، لذا فهو مناسب جدًا للتطبيقات المدمجة.على سبيل المثال، يمكن استخدامه لضغط ROM (البرامج الثابتة).

توفر LZMA SDK الوثائق والعينات وملفات الرأس والمكتبات والأدوات التي تحتاجها لتطوير التطبيقات التي تستخدم ضغط LZMA."

نصائح أخرى

إذا كنت تريد ملفًا واحدًا يمكن نقله إلى جميع الأنظمة الأساسية ويحتوي على بيانات منظمة، ففكر في استخدام sqlite.ستحصل على قاعدة بيانات كاملة الميزات ومتوافقة مع ACID وموجودة على القرص كملف واحد.

هناك مكتبات يمكنك الارتباط بها للوصول مباشرة إلى الملف، وهناك أداة سطر أوامر يمكنك استخدامها أيضًا.بغض النظر عن اللغة التي تستخدمها، فمن المرجح أن يكون هناك دعم لها.

http://www.sqlite.org

الرمز البريدي مدعوم في كل مكان.إذا كانت الحاوية هي كل ما تحتاجه، فهذه خيارات جيدة بالتأكيد.

سكليتي شيء عظيم.

ملف واحد، منصة مشتركة، مكتبة صغيرة، وصول SQL إلى البيانات، المعاملات، الانتشلادا بأكمله.

يمكنك استخدام المعاملات لضمان نقاط إرجاع متسقة في حالة التعطل.يفحص استخدامات لSqlite, إنهم يؤيدون على وجه التحديد استخدامها كطبقة نموذج بيانات لتطبيقات سطح المكتب.

هناك أيضًا أداة سطر أوامر للوصول يدويًا إلى البيانات.

أول شيء يجب أن تسأله لنفسك هو: "هل أنا حقًا بحاجة إلى صنع منتج خاص بي؟"

اعتمادًا على الغرض الذي تريد استخدامه من أجله، ربما يكون من الأفضل لك استخدام تنسيق شائع وبعض المكتبات المعدة مسبقًا والتي تتعامل بالفعل مع أحد هذه التنسيقات بشكل جيد للغاية.

أماكن جيدة للبدء:http://www.destructor.de/libtar/index.htm (القطران - تنسيق "الحاوية")http://www.zlib.net/ (zlib-- طريقة لضغط البيانات قبل أو بعد وضعها في الحاوية)

إذا كنت لا تزال تعتقد حقًا أنك بحاجة إلى إنشاء ملف خاص بك، فأنا أقترح عليك دراسة شيء بسيط جدًا أولًا، مثل تنسيق tar:

http://en.wikipedia.org/wiki/Tar_(file_format)أوhttp://schmidt.devlib.org/file-formats/tar-archive-file-format.html

بدلاً من إنشاء تنسيق، سأقرر فقط اتفاقية.يحتوي واحد أو أكثر من الملفات المسماة داخل الحاوية على البيانات التعريفية التي تحتاجها للوصول إلى بقية الملفات ومعرفة ما يجب فعله بها.ومع ذلك، يجب أن تكون الحاوية نفسها مجرد تنسيق موجود في كل مكان، مثل zip.لا حاجة لإعادة اختراع العجلة، هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top