chrome拡張子でc ++バイナリを使用することは可能ですか?
はい、他のブラウザと同様に、拡張機能と通信するNPAPIプラグインを作成できます。
関連するGoogleページを参照してください code.google.com
そして、より一般的な説明 ウィキペディアで
NPAPIは、セキュリティ上の懸念からChrome/Operaから非推奨になりました。
Firefoxをターゲットにしている場合は引き続きNPAPIを使用できますが、Firefoxがトレンドに従っている場合は、ある時点で無効になる可能性があります。
あなたが今日持っているより良いオプションは
代わりに使用できます NativeClient (A.K.A。NaCL、A.K.A。PPAPI-PepperPlugin API)
NaCl内で実行されるすべてのコードはサンドボックス化されているため、JavaScript拡張機能と同じくらい安全です。
Emscripten を使用すると、C/C++コードをasm.jsと呼ばれる高度に最適化されたjavascript形式にコンパイルできます。ほぼネイティブのパフォーマンスを持つように設計されており、現在 Safariを除くグレードAのブラウザから適切にサポートされています 。 Firefoxのパフォーマンスは、現時点ではChromeよりも優れていますが。
主要なブラウザベンダーも、部分的にasm.jsに触発された、WebAssemblyと呼ばれる新しい標準に取り組んでいますが、この記事の時点では主な使用の準備ができていません。
Native Clientは非推奨になり、asm.jsは WebAssembly に置き換えられます。これは、Web用のC++コードをコンパイルするための新しい標準になりつつあります。
上で述べたように、すべてのプラットフォームでEmscriptenを使用してchromeおよびasm.jsにNaClを使用できますが、リバースエンジニアリングはバイナリよりも単純です。現在、中間の解決策があります:webassembly-LLVMバイトコードブラウザへの埋め込みは、ほとんどの最新のブラウザでサポートされています https://caniuse.com/#feat=wasm 。したがって、EmscriptenはC++をwasmにコンパイルできますが、ほとんどの場合、asm.jsよりも高速です。