libslack.

مكتبة UNIX / C المرافق العامة للمبرمجين مع الركود
التحميل الان

libslack. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • GPL
  • السعر:
  • FREE
  • اسم الناشر:
  • Libslack Team
  • موقع ويب الناشر:
  • http://libslack.org/
  • أنظمة التشغيل:
  • Mac OS X 10.3.2 or later
  • حجم الملف:
  • 325 KB

libslack. العلامات


libslack. وصف

مكتبة UNIX / C المرافق العامة للمبرمجين مع الركود LIBSLACK هي مكتبة مجانية ومفتوحة المصدر من المرافق العامة التي تجعل برمجة UNIX / C أسهل قليلا على العين. فيما يلي بعض الملامح الرئيسية ل "Libslack": إطار البرنامج: لا بد أن تكون أجزاء "الإطار" من LIBSLACK هي الأكثر تعافيا. لا أحد يحب الأطر. لا تقلق، ليس هناك الكثير لذلك. إذا كنت لا تحب ذلك، نتظاهر بأنه ليس هناك. يوفر LibSlack القدرة على تحديد برامج تحديد أنفسهم، وإجراء معالجة خيار سطر الأوامر في سطر واحد من التعليمات البرمجية وإنتاج "قياسي" نمط GNU - Help، - رسائل الاستخدام والاستخدام. يتم توفير رسائل المراسلة التي تصحيح وأشرطة الدفاع عنها وتم تمكينها من خلال استخدام خيارات سطر الأوامر "القياسية" ودفاعها. يتم توفير الرسائل (بما في ذلك الخطأ والتصحيح والرسائل الحرفية) مع بناء جملة المكالمات النظيفة والدلالات المرنة. يمكن توجيه الرسائل إلى ملفات السجل أو واصفات الملف أو Syslog أو تعدد إرسالها إلى أي مما سبق (وإلى أي مكان آخر (E.G. مربعات الحوار) إذا قمت بتطبيق معالجات الرسائل الخاصة بك) دون تعقيد بناء جملة الاتصال. ISO C يفرض قيودا قصوى على معالجات الإشارة. يفرض Posix قيود أقل تطرفا ولكن لا تزال مزعجة. تحتوي LIBSLACK على وظائف توفر مستوى من التجريد بين معالجات الإشارة التي تكتبها ومعالجات إشارة إشارة حقيقية (ISO C). هذا يسمح لك بكتابة معالجات إشارة غير مقيدة. يتم توفير الثبات الحبيبات الخشنة لمعلومات التكوين البسيطة من خلال استخدام ملفات خصائص نمط Java في المواقع "المعروفة". خدمات الخفي: Libslack يوفر وظائف تجعل كتابة الشياطين تافهة. يتضمن وظائف لتصبح برنامجا مخبايا وإنشاء ملف PID مؤمنيا اختياريا للتأكد من أن مثيل واحد فقط من الخفي المسمى نشط في نفس الوقت. تتصرف وظيفة الخفي بشكل مناسب إذا بدأت عملية العميل ب INIT (8) أو Inetd (8). هناك أيضا وظائف لتبسيط تحليل ملفات التكوين البسيطة (مثل تلك الموجودة عادة في دليل / إلخ). هناك أيضا وظائف تساعدك على كتابة المزيد من الشياطين الآمنة (I.E. إحياء امتيازات SetUID / SetGID، ومنع جيل الملفات الأساسية، وتغيير المستخدم والمجموعة، واختبار سلامة مسار ملف معين). هناك أيضا وظائف للتحقق مما إذا كان برنامج الخفي المسمى يعمل وإيقافه. خدمات الشبكة: LibSlack يوفر وظائف لتبسيط تنفيذ خوادم الشبكات والعملاء (TCP، UDP، Unicast و Multicast) وبروتوكولات التطبيق (النص أو الرسام) الذي يستخدمونه. يمكن إعداد خوادم الشبكة والعملاء في سطر واحد من التعليمات البرمجية. هناك دعم شفاف ل IPV4 و IPV6 وعناوين مقبس المجال UNIX. هناك دعم للموثوقية على UDP. يتم تنفيذ بروتوكولات النص عن طريق تسلسل من توقع وترسل الوظائف. يمكن تعبئة حزم البروتوكولات الثنائية وغير معبأة (باستخدام الوظائف المشابهة لحزمة الحزمة () وتفكيك () في Perl ولكن الشبكة / التخزين ودية). هناك أيضا وظيفة لإرسال البريد. البرمجة الموجهة للعميل: يوفر Libslack نموذج برمجة عالمي موجه عام في شكل نوع بيانات الوكيل. مثل الكائنات، يمكن أن تتفاعل العوامل مع المحفزات الخارجية. على عكس الكائنات، يمكن أن يستغرق الوكلاء أيضا إجراءات مستقلة. يتم تنفيذ ذلك بواسطة أحداث I / O المتعددة على واصفات الملف التعسفية باستخدام استطلاع للرأي () أو حدد () وأيضا مؤقتا مضاعفة لإجراءات الجدولة. يتم توصيل وانفصال واصفات الملف في وقت ثابت. يتم جدولة وإلغاء الإجراءات في وقت ثابت. يتم إجراء صيانة الموقت في متوسط الوقت المستمر. هذا يعني أن العوامل قابلة للتطوير فيما يتعلق بعدد الأقراص المتميزة ويمكن أن يدعم الآلاف من الإجراءات المجدولة. يمكن استخدام وكيل واحد مثل حلقة حدث بسيط، أو يمكن توصيل عوامل متعددة ببعضها البعض في شبكات تعسفية عبر مواضيع متعددة أو عمليات / أو المضيفين. عامل واحد غير قابل للتحجيم فيما يتعلق بعدد واصفات الملف المتصل ولكن يمكن دمج عوامل متعددة لتحقيق قابلية التوسع الأعلى. إنها مفيدة للتطبيقات الشبكية والأنظمة والمحاكاة الموزعة. أنواع البيانات: يوفر LibSlack نوع بيانات مؤشر قابلة للدرجات عام يسمى القائمة، وهو نوع بيانات جدول تجزئة قدرة عام يسمى الخريطة ونوع بيانات السلسلة اللائقة التي تأتي مع أكوام من الوظائف (العديد من المرفوعة من بيرل). هناك أيضا مجردة منفردة وأنواع البيانات المرتبطة بشكل مضاعف مع اختياري، "قدرة" سرية. سلامة الخيط مكفول: Libslack يوفر نوع بيانات الخزانة التي تقوم باستراتيجيات مزامنة مؤشرات الخزانة من رمز العميل. يتيح ذلك كتابة التعليمات البرمجية التي تفوض اختيار استراتيجية المزامنة للعميل. يتيح ذلك تشغيل وقت التشغيل من استراتيجيات القفل مما يعني أنه من الممكن السماح للمستخدم النهائي بتحديد الاستراتيجية التي تأمين باستخدامها. وهو يدعم أقفال الاستبعاد المتبادل والقراء أقفال الكاتب ولا قفل. هناك أيضا إصدارات تصحيح الأخطاء التي تقوم بطباعة الرسائل إلى الإخراج القياسي لمساعدة العملاء على تحديد موقع Deadlocks. انظر http://raf.org/papers/mt-disciplined.html. Coprocesses والمحطات الزائفة: يوفر LIBSLACK وظائف لإنشاء محطات زائفة محددة وإنشاء كآبة تستخدم إما الأنابيب أو محطة زائفة للتواصل مع عملية العميل. متنوع: LibSlack يحتوي على مهام الراحة / الاختزال للأشياء العشوائية مثل قراءة خط نصي مع أي خط نهاية (UNIX، DOS أو Macintosh)، والتحكم في FIFO والملفات، واسترجاع حدود POSIX.1، وتحليل منشأة Syslog / أزواج أولوية، تخصيص ديناميكي صفائف متعددة الأبعاد، حمامات الذاكرة، الذاكرة الآمنة، حمامات الذاكرة الآمنة، هناك أيضا وظيفة فرز كومة. وهناك أيضا تطبيقات من GENUU GETOPT_LONG ()، STRLCAT ()، STRLCPY ()، SPRINTF ()، VSNPRINTF ()، VSSCANF ()، ASPRINF ()، VASPRINTF () للأنظمة التي لا تملكها. API المستوى المنخفض: على الرغم من وجود الكثير من الوظائف في LIBSLACK، إلا أن API نفسه منخفض المستوى ممكن. لا توجد هياكل بيانات مبررة تتلاف حول هياكل بيانات مقبولة تماما مقدمة من النظام. على سبيل المثال، لا تعيد وظائف الشبكات بعض كائن المقبس نمت المنزل. يعودون واصفات الملف تماما مثل مكالمات النظام الأساسي. واجهة برمجة تطبيقات COPROCESS مشابهة في الروح بالبثق (3) و pclose (3). تعمل وظيفة FGetline (3) بشكل مثالي مع القياسية I / O. يتم إرجاع الأخطاء عبر Errno فقط مثل مكالمات النظام وبعض وظائف المكتبة القياسية. قد لا تحب Errno إذا كتبت برامج ملتفية، لكنني أحسب ذلك حتى يزول errno، من الأفضل قبولها وإيجاد طريقة للاستفادة منها. لا مفر منه، فإن وحدة السلسلة تقوم بلف كائن حول مؤشرات سحر جيدة تماما ولكن مؤشر Char الأساسي يمكن الوصول إليه دائما وأن العديد من وظائف السلسلة تحتوي على إصدارات تعمل على سلاسل C العادية. الغرض من هذا التصميم هو الكسل. هذا يعني أنني لا أضطر إلى التفاف كل مكالمة نظام صافية ذات صلة أو وظيفة سلسلة قياسية في وظيفة إضافية ولن تضطر إلى تعلم حمولة من المعرفات الجديدة للحصول على الوظائف التي تعرفها بالفعل كيفية الوصول إليها. الشيء نفسه ينطبق على رموز الخطأ. لا أريد إعادة اختراعها ولا تحتاج إلى إعادة تعلمها. وهذا يعني أيضا أن وظائف LIBSLACK يمكن دمجها بسهولة أكبر في البرامج الحالية لتعزيز وظائفها دون إعادة كتابة كود ضخمة ودون الحاجة إلى منحنى تعليمي حاد. وثائق دقيقة: كل وحدة لديها manepage يفسر كل وظيفة بالتفصيل. يتم فحص توقيعات الوظائف في Manpages بشكل منهجي مقابل التعليمات البرمجية المصدر للتأكد من عدم الخروج من المزامنة. هناك الكثير من الأمثلة في ManPages. يتم تجميع معظمها بشكل منهجي وتنفيذه للتأكد من عدم الخروج من المزامنة مع شفرة المصدر. لا يمكن التحقق من النص الفعلي لل manpages بشكل منهجي ولكنه يحصل على التدقيق بانتظام. إذا وجدت أي أخطاء من أي نوع في الوثائق، فيرجى إخبارنا بذلك. كل الوثائق تأخذ شكل manpages لأن manpages أسرع وأكثر سهولة من أي شيء آخر. اختبار شامل: libslack تم اختبارها بدقة. هذا لا يعني أنه لا توجد أخطاء ولكنها تعني أن هناك قائمة كبيرة من الأخطاء التي لا تملكها. باستثناء وحدة SPRINTF، هناك ما يقرب من 2800 اختبار. بما في ذلك وحدة SPRINTF، هناك ما يقرب من 150،000 اختبار. تعمل هذه الاختبارات أيضا كمثلة إضافية.


libslack. برامج ذات صلة

كوت

المجاني والمفتوح المصدر كيو تي التطبيقات للتطبيقات التقنية ...

2,661 2 MB

تحميل