2

我用 JavaScript 编写了一个函数。例如:

function myName(a)
{
   var k=10;
   print(k);
}

myName是否可以使用 JavaScriptCore 从 C调用?如果是这样,怎么做?

4

2 回答 2

0

您可能想看看 Google 的 V8 项目(不过它是用 C++ 编写的)。它允许您在 C++ 程序中编译和执行 javascript 程序(在嵌入式 v8 引擎的帮助下)。这是它的入门文档页面

于 2012-12-20T06:32:33.573 回答
0

是的你可以。一种方法是从 C 中调用 JSEvaluateScript。像这样的东西:

JSStringRef script = JSStringCreateWithUTF8CString("myName()");
JSEvaluateScript(ctx, script, NULL, NULL, 0, NULL);

这假设您已经使用 JSGlobalContextCreate 创建了 ctx(一个 JSContextRef),并且已经在该上下文中评估了您的脚本(再次使用 JSEvaluateScript)以将 myName 函数添加到该 ctx。

于 2013-05-07T19:44:55.237 回答