gpt4 book ai didi

JavaScriptCore Hello world 每晚

转载 作者:太空宇宙 更新时间:2023-11-04 12:22:52 26 4
gpt4 key购买 nike

我正在尝试使用 JavaScriptCore C API 开发一个简单的 cli 工具示例(在我的 linux 机器上使用,或者如果不可能在 mac osx 上使用它)。参数是 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 输出写到标准输出。我也想链接每晚构建,但我总是针对我的系统 JavaScriptCore.framework 构建链接。

最佳答案

我刚开始使用 JavascriptCore C API,这是我的 HelloWorld 代码:

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);

我发现这篇文章可以帮助我将 native 对象与 Javascript 绑定(bind)。​​

https://karhm.com/JavaScriptCore_C_API/

希望对您有所帮助。

干杯。

关于JavaScriptCore Hello world 每晚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45552870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com