سؤال

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

أنا افكر GLib و أبريل.ما هي تجربتك العملية؟ما هي أفضل مكتبة C التأسيسية؟هل توجد مكتبات أخرى في نفس المجال؟

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

المحلول

أعتقد أن العفوية أفضل بشكل عام من أبريل.يحتوي glib على العديد من هياكل البيانات مثل المكتبات المحمولة.على سبيل المثال، جداول التجزئة، وجميع أنواع القوائم، وقوائم الانتظار، والمكدسات، والمصفوفة الديناميكية، وأيضًا لتحليل الوسيطات، يحتوي ملف io على أغلفة خاصة به أيضًا ويمكن تعديل إدارة الذاكرة بسهولة.على سبيل المثال، يمكنك بسهولة استخدام Boehm Weisser GC بشكل عفوي، وهذا أمر AFAIKT لم يتم تنفيذه مطلقًا أو كان ذلك ممكنًا بسهولة باستخدام Apache.سأقرر بشكل مختلف بعض الشيء.إذا كنت بحاجة إلى مكتبة أكثر فائدة لهياكل البيانات، فإن glib مجهز بشكل أفضل.إذا كان الأمر يتعلق بأشياء واجهة المستخدم الرسومية، فإن libapr لا يحتوي على أي شيء بينما يحتوي glib على gdk/gtk+ والكثير من الأشياء لجنوم إذا أردت.

ومع ذلك، إذا كان الأمر يتعلق بأشياء الشبكة، فمن المؤكد أن libapr لديه ميزة على السطحية.

لذلك اقتراحاتي هي

  • برمجة سطح المكتب:استخدم GTK+ و glib.
  • اشياء الشبكة:استخدم apr، ولكن تأكد من أن glib لديه كل هذه الأشياء المحمولة أيضًا.

نصائح أخرى

وكنت اذهب مع أبريل أبريل هو أفضل في قابلية يونيكس / ويندوز (وهي مكتبة قابلية مخصصة)، كان الخصلة تقليديا أكثر يونكس المنحى. أبريل هي مكتبة أكبر من الخصلة، مع الكثير من الاشياء المفيدة في ذلك (الجداول التجزئة، حجة التوزيع، ملف I / O الاشياء، إدارة الذاكرة، الذاكرة المشتركة الروتينية، ومعالجة الإشارات، الخ.).

هل هناك سبب وكنت لا تريد استخدام المحكمة الخاصة بلبنان ج ++؟ حتى لو كنت تكتب "على غرار ج" مدونة دون الطبقات، يمكنك استخدام ج ++ السلاسل والبيانات هيكل.

وهناك الكثير من الأسباب الوجيهة التمسك C، بطبيعة الحال. إذا كان هذا هو الحال، وأود أن الثانية توصية لسطحي. أبريل هو أكثر من طبقة النقل من مكتبة فائدة.

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