首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScriptCore每晚问候世界

JavaScriptCore每晚问候世界
EN

Stack Overflow用户
提问于 2017-08-08 01:51:16
回答 1查看 306关注 0票数 0

我正在尝试使用JavaScriptCore C API开发一个简单的cli工具示例(在我的linux机器上使用,如果不可能,也可以在mac中使用)。参数是JavaScript代码片段。

代码语言:javascript
复制
    JSGlobalContextRef ctx;
    JSStringRef script;
    bool isOk;
    JSValueRef result;
    char *js;
    ctx = JSGlobalContextCreate(NULL);
    script = JSStringCreateWithUTF8CString("myscript");
    isOk = JSCheckScriptSyntax(ctx, script, NULL, 1, NULL);
    result = JSEvaluateScript(ctx, script, NULL, NULL, 1, NULL);
    JSStringRelease(script);
    JSGarbageCollect(ctx);
    JSGlobalContextRelease(ctx);

应该是这样的(如果你有更好的例子,我很欣赏这只是一个例子),我只是把JS输出写到stdout中。我也想链接到夜间构建,但是我总是根据我的系统JavaScriptCore.framework做一个构建链接。

EN

回答 1

Stack Overflow用户

发布于 2017-10-27 00:34:36

我刚开始使用JavascriptCore C应用程序接口,这是我的HelloWorld代码:

代码语言:javascript
复制
JSGlobalContextRef context = JSGlobalContextCreate(0);
JSValueRef exception;
JSStringRef code = JSStringCreateWithUTF8CString("function helloWorld() { return 1+1; } helloWorld();");
JSStringRef file = JSStringCreateWithUTF8CString("");
JSValueRef  value = JSEvaluateScript(context, code, /* thisObject*/ 0, file, 1, &exception);
bool assert = JSValueIsNumber(context, value);
int number = (int)JSValueToNumber(context, value, NULL);
printf("Value: %d\n", number);

我找到了这篇文章,帮助我用Javascript绑定本机对象。

https://karhm.com/JavaScriptCore_C_API/

我希望这能有所帮助。

干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45552870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档