Есть ли какой-нибудь способ использовать c ++ в расширении Chrome?

StackOverflow https://stackoverflow.com/questions/1666957

Вопрос

Можно ли использовать двоичный код c ++ в расширении Chrome?

Это было полезно?

Решение

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

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

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

Другие советы

NPAPI устарел в Chrome / Opera по соображениям безопасности.

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

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

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

Вы можете использовать вместо Родной клиент (А.К.А.NaCl, А.К.А.PPAPI - API плагина Pepper)

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

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

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

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

Обновление 2018-05-14

Собственный клиент устарел и asm.js заменяется на Веб-Сборка который становится новым стандартом для компиляции кода на C ++ для Интернета.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top