Как выполнить функцию Javascript в C++

Пожалуйста, скажите мне, как включить файл заголовка JavaScript или функцию JavaScript в коде C++. Код C++ написан на Linux(UBUNTU)?

Хотя мне нужно выполнить только вышеуказанное действие, но позвольте мне рассказать вам о моей цели, поскольку я собираюсь реализовать операцию CTI (Computer Telephony Integration).

(Помощь будет оценена) Большое спасибо заранее

4 ответа

Решение

Вызов скриптовых функций из C++

http://clipp.sourceforge.net/Tutorial/back_calling.html

JavaScript-вызовы из C++ - CodeGuru

http://www.codeguru.com/cpp/i-n/ieprogram/article.php/c4399/JavaScript-Calls-from-C.htm

Вызов JavaScript из C++ - CodeProject

http://www.codeproject.com/KB/COM/jscalls.aspx

вызов JavaScript из кода C++ - ответы JavaScript / Ajax / DHTML

http://bytes.com/topic/javascript/answers/759793-calling-javascript-c-code

Попробуйте все вышеперечисленное.

Возможно, вы захотите перенести JS на C++; это должно быть довольно простой задачей, так как два языка в меру похожи.

Простое портирование функциональности, вероятно, будет намного проще, чем попытка использовать библиотеку синтаксического анализа JS, и, вероятно, менее подвержено ошибкам.

JavaScript не является компилируемым языком, и он, ни на что не похож, не совместим с C++, поэтому #include нет возможности импортировать код JavaScript. На самом деле, понятие заголовочного файла даже не существует в JavaScript.

Существует несколько механизмов JavaScript, которые можно интегрировать в скомпилированный язык, в том числе:

  1. SpiderMonkey проекта Mozilla.
  2. Google Chrome V8.
  3. Целая куча других.

Подробное руководство по встраиванию JS в C++ с помощью движка Mozilla SpiderMonkey можно найти здесь. По сути, вам нужно включить jsapi.h, создать / настроить / очистить движок JS, как описано в учебнике (заполнение сценария char* вашим строковым литералом исходного кода JS). и передачи результирующего массива символов в JS_EvaluateScript), а затем добавьте ссылку на библиотеку SpiderMonkey при создании исполняемого файла для вашей системы. Обратите внимание, что в этом руководстве объясняется, как вызывать функции C из JS и как вызывать конкретные функции JS из C, что также интересно и, возможно, более подходит для ситуации OP.

Другие вопросы по тегам