Вопрос:
Я новичок в webdevelopment, и я ищу несколько уроков или ресурсов о том, как запускать код С++ в браузере. Я скоро собираюсь сделать проект степени, который реализует звуковую услугу в браузере (например, флеш-память), используя предоставленную DLL + мою собственную программу, поэтому я ищу некоторые начинающие, где искать.
У меня нет опыта работы с webdevelopment, но у меня есть программирующий фон C/С++.
Приветствия
Лучший ответ:
Почти во всех нормальных случаях вы не хотите, чтобы на вашем веб-браузере был запущен код С++. Запуск кода на С++ в большинстве случаев сродни тому, чтобы полностью контролировать ваш компьютер для выполняемого кода. В основном это может сделать, от установки вирусов до удаления всего на вашем жестком диске. Это то, что вы не хотели бы разрешать случайным веб-сайтам, которые вы посещаете.
С учетом сказанного, есть несколько вариантов, чтобы сделать это так называемый “защищенный” способ. Один из способов, который работает только в Microsoft Internet Explorer, – использовать элементы управления ActiveX. Здесь страница, где вы можете начать узнавать об этом.
Другой вариант, который работает только в google chrome на данный момент, – это использовать собственный клиент Google (NaCl). Здесь, где вы можете начать узнавать об этом варианте.
Если вы хотите сделать это в firefox, вам понадобится установить аддон. Вот хорошая стартовая страница для этой опции.
Обычная веб-разработка использует Javascript вместо С++, чтобы обеспечить программируемость на веб-страницах.
Ответ №1
emscriptem позволит вам перевести C/С++ в Javascript через LLVM.
В соответствии с этой страницей
Emscripten – это LLVM-JavaScript компилятор. Требуется бит-код LLVM (который может быть сгенерирован из C/С++, используя llvm-gcc или clang, или любой другой язык, который можно преобразовать в LLVM) и компилирует это в JavaScript, который можно запускать на web (или где-либо еще JavaScript может работать).
Ответ №2
Я думаю, что браузер должен использоваться для HTML и JavaScript, а использование С++ в браузере – не очень хорошая идея (просто сказать это.)
Если вы хотите запустить код C/С++, вам нужно создать плагин. Но плагины будут зависящими от архитектуры/браузера и могут даже не разрешаться на всех платформах (iPhone/iPad). Есть также проблемы секьюрити, с которыми приходится иметь дело.
Есть несколько наборов инструментов для запуска С++ в браузере.
- Для Windows вы можете использовать элементы управления ActiveX, и они могут быть написаны на С++ (ATL).
- У Google есть Собственный клиент для запуска С++ на клиенте.
Ответ №3
Использование С++ в браузерах в настоящее время ограничено плагинами браузера.
Microsoft Internet Explorer использует ActiveX, а все другие производители браузеров используют NPAPI.
Собственный клиент Googles – это песочница, которая в конечном итоге должна быть плагином в браузерах, отличных от Chrome.
Я настоятельно рекомендую вам взглянуть на проект firebreath для создания плагина как для ActiveX, так и для NPAPI.
Существует не так много случаев для создания плагинов, отличных от визуализаторов, для проприетарных форматов файлов или создания игр, требующих ускоренной графики.
Ответ №4
В зависимости от того, что вы пытаетесь сделать, вы, возможно, сможете использовать Adobe Flash Alchemy – – который позволяет вам разгружать обработку на предварительно скомпилированный код на С++. Я думаю, что, вероятно, как можно ближе к вам.