我用JavaScript编写了一个函数。例如:
function myName(a)
{
var k=10;
print(k);
}
是否可以使用JavaScriptCore从C调用myName
?如果是这样,怎么样?
答案 0 :(得分:0)
你可能想看看谷歌的V8项目(虽然它是用C ++编写的)。这允许您在C ++程序中编译和执行javascript程序(在嵌入式v8引擎的帮助下)。这是Getting Started document page
答案 1 :(得分:0)
是的,你可以。一种方法是从C中调用JSEvaluateScript。像这样:
JSStringRef script = JSStringCreateWithUTF8CString("myName()");
JSEvaluateScript(ctx, script, NULL, NULL, 0, NULL);
这假设您已经使用JSGlobalContextCreate创建了ctx(JSContextRef),并且已经在该上下文中评估了您的脚本(再次使用JSEvaluateScript)将myName函数添加到该ctx。