سؤال

أنا مهتم بالسمع حول تجربة الشعوب مع تضمين مونو (تنفيذ مصدر مفتوح .NET) في تطبيق C / C ++. كيف يتم توزيع مثل هذا التطبيق وما هي التبعيات؟ لقد تم اختباره على نظام التشغيل X وأحيل يأتي كإطار ضخم (مئات ميغابايت). هل يحتاج مستخدمو تطبيقي إلى هذا الإطار الكبير أو يمكن تجريده أو يتم تجميع كل شيء في الملف القابل للتنفيذ الرئيسي.

أخيرا في السابق تجربة تضمين LUA في تطبيق C ++، وهذا يعمل بشكل جيد حقا لأنني أستطيع ربط مترجم LUA بالكامل من خلاله القابل للتنفيذ الرئيسي. لذلك ليس لدي تبعيات خارجية. هل من الممكن أن تفعل شيئا مشابها بالأونو؟

أي شخص لوا هنا يمكنه التعليق على كيف وجدوا أحادية مقارنة ب LUA؟

ملاحظة: عن طريق التضمين يعني تطبيق C ++ الذي تهيمن بيئة أحادية ويتم تحميل مجموعة .NET وتنفذه ثم يسمح بالاتصال بين القول رمز C # في الأساليب التجميعية و C ++ في الملف القابل للتنفيذ الرئيسي.

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

المحلول

ربما يجب عليك أيضا إلقاء نظرة على Mono's أثار أقدام صغيرة الصفحة التي تصف كيفية تضمين وقت تشغيل أصغر. هيك، يفعلون ذلك أنفسهم ضوء القمر.

أتمنى أن يساعد ذلك.

نصائح أخرى

هذا هو سؤال من 2 سنوات. لذلك قد يصبح الوضع مختلفا الآن.

بالنسبة لي، كانت النقطة الأكثر أهمية هي GC. أنا جزء لا يتجزأ من LUA للتطبيقات والألعاب التفاعلية، لأن GC تدريجي مطلوب. حاليا LUA 5.1 لديها دقة، GC تدريجية، لكن لم أتمكن من العثور على أي دليل على GC تدريجيا أو دقيقا على أحادي. لذلك سوف تسرب الذاكرة (حتى أنها صغيرة جدا!)، وسوف تكافح التطبيقات بشكل متقطع.

يقول الناس إن GC PAUSE يمكن حلها عن طريق ضبط بعض المعلمات وأشياء تجمع، ولكن كما واجهت ذلك أبدا يتم حلها دون أي نوع من تحميل تحميل GC مع مرور الوقت نهج في GC. GC GC GC هي إحدى خوارزمية التوزيع، لكنها صعبة للغاية وغير مفيدة تقريبا.

نظرا لأنك لا تستطيع التحكم في نمط العمر أو إعادة استخدامها عن طريق تجمع الكائنات المستخدمة في التعليمات البرمجية التي لا تلوكنك. (مثل مكتبة الطبقة الأساسية)

لذلك أنا لا أوصي بمنصة C # (أحادية أو .NET، على الأقل حتى الآن) لتطبيقات حقيقية تفاعلية / (ناعمة).


يحرر

لا أعرف ما إذا كان سيتم عرض أي متزامنة / متزامنة من GC على أحادية أو .NET. إذا كنت متأكدا من أنها توفر نوع GC، بالطبع، فلا بأس في استخدام :)

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