Pergunta

É possível usar c ++ binário na extensão do Chrome?

Foi útil?

Solução

Sim, como com outros navegadores, você pode escrever um plugin NPAPI que irá comunicar com a sua extensão.

Veja a página do Google relacionado em code.google.com

E uma descrição mais genérica na wikipedia

Outras dicas

NPAPI foi depreciado do Chrome / Opera para preocupações de segurança.

Você ainda pode usar NPAPI se você está direcionando firefox, mas se o Firefox segue a tendência pode desativá-lo em algum momento também.

As melhores opções que você tem hoje são

Use NaCl se você está visando apenas Chrome

Você pode usar em vez NativeClient (AKA NaCl, AKA PPAPI - Pimenta Plugin API)

Tudo correu código dentro NaCl é sandboxed por isso é tão seguro quanto um extensões de JavaScript.

Use asm.js se você como alvo todas as plataformas

Usando Emscripten você pode compilar o código C / C ++ em altamente otimizados formato javascript chamados asm.js. Ele é projetado para ter um desempenho nativo próximo e agora tem suporte decente de grau-A navegadores, exceto Safari . Embora o desempenho é melhor no Firefox que o Chrome no momento.

Os principais fabricantes de navegadores também estão trabalhando em um novo padrão chamado WebAssembly que é parcialmente inspirado por asm.js, mas não está pronto para uso nobre a partir deste artigo

Atualização 2018/05/14

Native Client está sendo preterido e asm.js está sendo substituída pela WebAssembly que está se tornando o novo padrão para compilar código C ++ para a web.

Como dito superior, você pode usar NaCl para cromo e asm.js com Emscripten para todas as plataformas, mas é a engenharia reversa é mais simples, do que binário. Agora há uma solução média: webassembly - bytecode LLVM embeded no navegador é suportado pela maioria dos navegadores modernos https: // caniuse .com / # façanha = WASM . Então Emscripten pode compilar C ++ para WASM, na maior parte é mais rápido do que asm.js.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top