Запуск кода C / C ++ в веб-браузере? - PullRequest
1 голос
/ 19 марта 2011

Я новичок в веб-разработке и ищу несколько уроков или ресурсов о том, как запускать код C ++ в браузере.Вскоре я собираюсь сделать дипломный проект, который реализует звуковой сервис в браузере (например, flash, я думаю), используя предоставленную DLL + мою собственную программу, поэтому я ищу несколько стартовых данных о том, где искать.

У меня нет большого опыта веб-разработки, но у меня есть опыт программирования C / C ++.

Приветствия

Ответы [ 5 ]

7 голосов
/ 19 марта 2011

Почти во всех обычных случаях вы не хотите, чтобы код C ++ работал в вашем веб-браузере. Выполнение кода на C ++ в большинстве случаев похоже на предоставление полного контроля над вашим компьютером выполняющемуся коду. Он может делать что угодно, от установки вирусов до удаления всего на вашем жестком диске. Это то, что вы не хотели бы разрешать делать случайным веб-сайтам, которые вы посещаете.

С учетом вышесказанного, есть несколько вариантов сделать это так называемый "безопасный" способ. Один способ, который работает только в Microsoft Internet Explorer, - использование элементов управления ActiveX. Вот страница , с которой вы можете начать узнавать об этом.
Другой вариант, который в данный момент работает только в Google Chrome, - это использование собственного клиента Google (NaCl). Вот , где вы можете начать изучать эту опцию.
Если вы хотите сделать это на Firefox, вам понадобится пользователь, чтобы установить надстройку. Вот хорошая стартовая страница для этой опции.

Обычная веб-разработка использует Javascript вместо C ++ для обеспечения возможности программирования на веб-страницах.

2 голосов
/ 20 марта 2011

emscriptem позволит вам переводить C / C ++ в Javascript через LLVM.

Согласно этой странице

Emscripten - это LLVM-to-JavaScript компилятор. Требуется битовый код LLVM (который может быть сгенерирован из C / C ++, используя llvm-gcc или clang, или любой другой язык, который может быть преобразован в LLVM) и компилирует это в JavaScript, который можно запустить на Интернет (или где-либо еще JavaScript может работать).

0 голосов
/ 19 марта 2011

В зависимости от того, что именно вы пытаетесь сделать, вы можете получить некоторую пользу от флэш-алхимии Adobe - http://labs.adobe.com/technologies/alchemy/ - которая позволяет переложить обработку на предварительно скомпилированный код C ++.Я думаю, что это, вероятно, так близко, как вы собираетесь получить, однако.

0 голосов
/ 19 марта 2011

Использование C ++ в браузерах в настоящее время ограничено подключаемыми модулями браузера.

Microsoft Internet Explorer использует ActiveX, а все остальные поставщики браузеров используют NPAPI.

Googles Native Client - это песочница, которая в конечном итоге должна стать плагином в браузерах, отличных от Chrome.

Я настоятельно рекомендую вам взглянуть на проект firebreath для создания плагина для ActiveX и NPAPI.

Существует не так много случаев создания плагинов, отличных от визуализаторов для проприетарных форматов файлов, или создания игр, требующих ускоренной графики.

0 голосов
/ 19 марта 2011

Я думаю, что браузер должен использоваться для HTML и JavaScript, и что использование C ++ в браузере не очень хорошая идея (просто сказать это).

Если вы хотите запустить код C / C ++, вам нужно создать плагин. Но плагины будут зависеть от архитектуры / браузера и могут быть недоступны даже на всех платформах (iPhone / iPad). Есть также проблемы с защитой, с которыми нужно иметь дело.

Есть несколько инструментов для запуска C ++ в браузере.

  • Для Windows вы можете использовать элементы управления ActiveX, и они могут быть написаны на C ++ (ATL).
  • У Google есть Собственный клиент для запуска C ++ на клиенте.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...