سؤال

هل من الممكن استخدام C ++ ثنائي في امتداد Chrome؟

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

المحلول

نعم، مثل مع المتصفحات الأخرى، يمكنك كتابة مساعد NPAPI الذي سيتعلم مع امتدادك.

انظر صفحة جوجل ذات الصلة في code.google.com.

ووصف أكثر عام في ويكيبيديا

نصائح أخرى

تم إهمال NPAPI من Chrome / Opera للمخاوف الأمنية.

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

أفضل الخيارات التي لديك اليوم

استخدم NACL إذا كنت تستهدف Chrome فقط

يمكنك استخدام بدلا من ذلك زبون محلي (المعروف أيضا باسم NACL، ويعرف أيضا باسم PPAPI - Pepper Plugin API)

يتم تشغيل جميع الكود الداخلي داخل NACL Randboxed بحيث تكون آمنة مثل ملحقات JavaScript.

استخدم ASM.JS إذا استهدفت جميع المنصات

استخدام emscripten. يمكنك ترجمة رمز C / C ++ إلى تنسيق JavaScript محسن للغاية يسمى ASM.JS. وهي مصممة لتكون قرب الأداء الأصلي والآن لديها الدعم اللائق من المتصفحات الصف باستثناء رحلات السفاري. وبعد على الرغم من أن الأداء أفضل في فايرفوكس من كروم في الوقت الحالي.

يعمل البائعون الرئيسيون المتصفحون أيضا على معيار جديد يسمى WebAsSembly الذي مستوحى جزئيا بواسطة ASM.JS، ولكن ليس جاهزا للاستخدام الرئيسي اعتبارا من هذه المقالة

تحديث 2018-05-14.

يتم إهمال العميل الأصلي ويجري استبدال ASM.JS WebAssembly. التي أصبحت المعيار الجديد لتجميع التعليمات البرمجية C ++ على الويب.

كما قال العلوي، يمكنك استخدام NACL ل Chrome و ASM.JS مع Emscripten لجميع المنصات، لكنه هندسة عكسية أبسط، من الثنائي. الآن هناك حل متوسط: WebAssembly - LLVM Bytecode متضمنة في المتصفح مدعوم من قبل معظم المتصفحات الحديثة https://caniuse.com/#Feat=wasm وبعد يمكن أن تجميع Emscripten C ++ إلى WASM، ومعظمها أسرع من ASM.JS.

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