Подтвердить что ты не робот

Есть ли способ использовать С++ в chrome extension?

Можно ли использовать двоичный код С++ в chrome extension?

4b9b3361

Ответ 1

Да, как и в других браузерах, вы можете написать плагин NPAPI, который будет общаться с вашим расширением.

См. соответствующую страницу Google на code.google.com

И более общее описание в wikipedia

Ответ 2

NPAPI устарел от Chrome/Opera для обеспечения безопасности.

Вы все еще можете использовать NPAPI, если вы настроили таргетинг на firefox, но если Firefox следует этой тенденции, он может также отключить его в какой-то момент.

Лучшие варианты, которые у вас есть сегодня,

Используйте NaCl, если вы настроили таргетинг только на Chrome

Вместо этого вы можете использовать NativeClient (A.K.A. NaCL, A.K.A. PPAPI - API-интерфейс Pepper Plugin)

Весь код, запущенный внутри NaCl, изолирован, поэтому он защищен как расширение javascript.

Использовать asm.js, если вы настроите таргетинг на все платформы

Используя Emscripten, вы можете скомпилировать код C/С++ в высоко оптимизированный формат javascript под названием asm.js. Он разработан, чтобы иметь почти собственную производительность и теперь имеет достойную поддержку браузеров класса А, кроме Safari. Хотя производительность в Firefox лучше, чем в Chrome на данный момент.

Крупные поставщики браузеров также работают над новым стандартом, называемым WebAssembly, который частично вдохновлен asm.js, но не готов к простому использованию этой статьи

Ответ 3

Как сказано выше, вы можете использовать NaCl для chrome и asm.js с Emscripten для всех платформ, но обратная инженерия проще, чем двоичная. Теперь есть среднее решение: webassembly - байт-код LLVM, встроенный в браузер, поддерживается большинством современных браузеров https://caniuse.com/#feat=wasm. Таким образом, Emscripten может скомпилировать С++ для wasm, в основном это быстрее, чем asm.js.