Как выполнить функцию Javascript в C ++ - PullRequest
5 голосов
/ 26 апреля 2010

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

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

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

Ответы [ 4 ]

11 голосов
/ 26 апреля 2010

Вызов скриптовых функций из 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

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

7 голосов
/ 26 апреля 2010

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

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

6 голосов
/ 26 апреля 2010

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

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

  1. Проект Mozilla SpiderMonkey .
  2. Google Chrome V8 .
  3. Целая куча других .
2 голосов
/ 29 мая 2013

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

...