首页 > 其他分享 >Hello QuickJS

Hello QuickJS

时间:2023-04-01 16:22:15浏览次数:29  
标签:std QuickJS nullptr js QJSContext JS Hello QJSRuntime





#include "quickjs.h"
#include "quickjs-libc.h"
#include <string.h>

JSRuntime* QJSRuntime = nullptr;
JSContext* QJSContext = nullptr;

JSContext* CreateQJSContext(JSRuntime* InRuntime)
{
    JSContext* RetVal = JS_NewContext(QJSRuntime);

    js_init_module_std(RetVal, "std");
    js_init_module_os(RetVal, "os");

    return RetVal;
}

int main(int argc,  char* argv[])
{
    QJSRuntime = JS_NewRuntime();
    
    js_std_set_worker_new_context_func(CreateQJSContext);
    js_std_init_handlers(QJSRuntime);
    QJSContext = CreateQJSContext(QJSRuntime);

    JS_SetModuleLoaderFunc(QJSRuntime, nullptr, js_module_loader, nullptr);

    js_std_add_helpers(QJSContext, -1, nullptr);

    char JSScript[] = R"( console.log("JavaScript call console.log() "); )";

    JSValue RetValue = JS_Eval(QJSContext, JSScript, strlen(JSScript), "", 0);
    
    js_std_dump_error(QJSContext);

    system("pause");

    return 0;
}


标签:std,QuickJS,nullptr,js,QJSContext,JS,Hello,QJSRuntime
From: https://www.cnblogs.com/rpg3d/p/17278800.html

相关文章

  • Python-HelloWorld
    Python语言在形式上比之前学过的CC++Java等都要简单的多,它不需要导包或者声明#include什么的,甚至不需要创建class或者main函数我们首先新建一个python文件,后缀是.py......
  • HelloWorld
    c#1.HelloWorldusingSystem;//注释:引入命名空间namespace_001{//Pragram类classPragram{//Main方法staticvoidMain()......
  • HelloWorld之Java调用C++(JNI)
    JNI(JavaNativeInterface),通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。1、java新建类HelloWorld,并声明native方法,引入hello的dllpublicclassHel......
  • HelloWorld之Java调用C++(JNI)
    JNI(JavaNativeInterface),通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。1、java新建类HelloWorld,并声明native方法,引入hello的dllpublicclassHel......
  • 编写Hello World
    新建文件夹,记住路径,存放代码新建java文件文件后缀名为.java命名为Hello.java(系统可能不显示后缀名,需手动打开)编写代码1publicclassHello{2public......
  • QT | 手写代码实现HelloWorld
    QT|手写代码实现HelloWorld文章目录`QT`|手写代码实现`HelloWorld`1.新建工程1-1.main.cpp文件1-2.mainwindow.h和mainwindow.cpp文件1-3.编译、运行2.编码实现简易的......
  • 有执行语句:console.log(fn2(2)[3]),补充函数,使执行结果为"hello"
    functionfn2(a){return[1,2,3,"hello"];}console.log(fn2(2)[3])//hello这个2是混淆视线的,即使没有这个2.函数依然可以正常执行。console.log(fn2()[3])就是求......
  • Hello world、容器使用
    DockerHelloworld#Docker允许你在容器内运行应用程序,使用dockerrun命令来在容器内运行一个应用程序。输出Helloworld[root@docker~]#dockerrunubuntu:15.10......
  • 编写HelloWorld程序
    编写HelloWorld程序新建一个文件夹,用于存放代码新建一个Java文件(Hello.Java)后缀名为.java编写代码publicclassHello{publicstaticvoidmain(String[]a......
  • SpringMVC-lesson04-hellospringmvc-注解开发-2023-03-22
    真实开发-注解开发1、<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XM......