Chromeの拡張機能でC ++を使用する方法はありますか?
-
13-09-2019 - |
質問
これはChromeの拡張機能でC ++のバイナリを使用することは可能ですか?
解決
はい、他のブラウザと同じように、あなたはあなたの拡張子を持つcomunicateますNPAPIプラグインを書くことができます。
code.google.com の
を参照してください。 >そして、もっと一般的な記述でウィキペディアする
他のヒント
NPAPIは、セキュリティ上の懸念のためにクローム/オペラから廃止されました。
Firefoxをターゲットにしている場合は、まだNPAPIを使用することができますが、Firefoxがトレンドに従っている場合、それは同様にいくつかの時点でそれを無効にすることがあります。
あなたが今日持っているより良い選択肢である
使用のNaCl、あなたがターゲットとしている場合のみ、クローム
あなたが代わりに使用することができます NativeClientする(AKAのNaCl、AKA PPAPI - ペッパープラグインAPI)
すべてのコードは、NaClの内部で走ったが、それはJavaScript拡張機能と同様に安全ですので、サンドボックス化されます。
使用asm.jsあなたはすべてのプラットフォームをターゲットにしている場合は、
あなたはasm.js.と呼ばれる高度に最適化されたJavaScriptの形式にC / C ++コードをコンパイルすることができます Emscripten に使用ネイティブに近いパフォーマンス持つように設計されており、今のSafari を除き、グレードAのブラウザからまともなサポートを持っています。パフォーマンスは、現時点ではクロムよりもFirefoxで優れているもののます。
主要ブラウザベンダーも、部分的にasm.jsに触発されWebAssemblyと呼ばれる新しい標準に取り組んで、この記事のようプライムの使用のための準備ができていません。
更新2018年5月14日
Native Clientが廃止されるとasm.jsをコンパイルするための新しい標準になりつつされている WebAssembly に置き換えられていますウェブのためのC ++のコードます。
は、すべてのプラットフォーム用のEmscriptenとクロムとasm.jsのためのNaClを使用することができますが、それはリバースエンジニアリングは、バイナリよりも、単純であるのです。今、中間の解決策があります:webassembly - ブラウザに埋め込まLLVMバイトコードは httpsの最も近代的なブラウザでサポートされています:// caniuse .COM /#偉業= wasmする。 だから、Emscriptenはほとんどそれがasm.jsよりも高速ですが、wasmにC ++をコンパイルすることができます。