quickjs

quickjs运行typescript?

一、前言 quickjs是标准的js引擎,不可能直接运行ts文件。所以需要对ts文件,进行编译,编译成符合当前版本的js脚本,然后在运行。 二、简单ts例子 安装typescript,就有tsc编译器。使用npm之类安装。使用 tsc --init 创建项目,此时会得到一个tsconfig.js 配 ......
typescript quickjs

quickjs C功能扩展的四种写法

一、前言 茴香豆的“茴”字有多少种写法?这篇博客不是为了炫技,是JS就是这么多种情况。比如C语言,就只能通过函数调用,没有类的概念。比如Java,就只能通过类、对象的方式。不能单独创建函数。哪怕main函数也要包装成一个class。而JS,即可以提供函数,也可以提供类。 在ES5之前,JS还没有模块 ......
写法 quickjs 功能

quickjs集成http功能

零、前言 默认的quickjs,是js引擎,需要自己移植类似curl库,才能使quickjs有http请求功能。js引擎+一些本地功能调用=js运行时。 一、libcurl库 这个库的安装或编译,也是比较麻烦的事情,特别是需要使其支持https访问,配置和编译更是麻烦。因此,还是使用上次提到的vcp ......
quickjs 功能 http

quickjs再谈libuv

一、前言 这次通过这两篇博客,对libuv再次深入了解。因为后面结合iotjs,txiki.js会有很多地方用到libuv库。同时由于上一篇libuv博文是跟lvgl结合的。这一篇则比较纯粹的见解libuv库的使用。 二、默认的setTimeout例子,了解原理 1 import {setTimeo ......
quickjs libuv

quickjs模块封装、类封装

一、模块封装、类封装 通过quickjs,封装JS模块,然后可以通过import 导入对应模块,还可以导入具体的类。全部代码如下。 1 #include "quickjs-libc.h" 2 #include <stdio.h> 3 #include <inttypes.h> 4 #include ......
模块 quickjs

quickjs加载字节码文件

一、使用qjsc编译字节码 hello.js console.log("Hello World") qjsc.exe -c hello.js 1 const uint32_t qjsc_hello_size = 78; 2 3 const uint8_t qjsc_hello[78] = { 4 0 ......
字节 quickjs 文件

quickjs利用libuv实现setTimeout函数

零、前言 默认quickjs 是有setTimeout函数的实现的。但是由于js的进程与ui进程会有冲突,因此,需要通过重写quickjs的setTimeout,改用系统进程实现才行。 这里以大部分基于quickjs开源的框架中使用最多的libuv作为底层库。 一、编译libuv库 通过github ......
setTimeout 函数 quickjs libuv

quickjs调用lvgl函数

实现本次使用quickjs的最主要目的,就是通过程序动态加载js,然后调用lvgl函数库,实现渲染。以达到类似小程序的效果。后续还会实现类似小程序效果,通过quickjs解析xml(html),编译成js然后调用lvgl库,实现界面渲染。通过quickjs会调用c语言提供的底层功能,如wifi、蓝牙 ......
函数 quickjs lvgl

quickjs调用C函数

QuickJS调用C函数,这个可以参考官方的std、os进行实现。 外部库 core.h 1 #include <string.h> 2 #include "quickjs-libc.h" 3 #include "cutils.h" 4 5 extern JSModuleDef *js_init_m ......
函数 quickjs

嵌入式使用quickjs

零、前言 之前搞过在嵌入式中引入Lua作为脚本,以实现动态执行效果。详见(https://www.cnblogs.com/wunaozai/p/14087370.html)但是众所周知原因,其实Lua远远没有JS好,一方面是目前前端的如日中天,加之前端开源的库很多。很多都可以复用。 在选型用哪个JS ......
嵌入式 quickjs

quickjs入门学习

由于最近在学习quickjs,把学习过程中遇到的问题和功能验证的过程都记录下来,这篇是quickjs入门学习的目录导航。 本文地址:https://www.cnblogs.com/wunaozai/p/17853962.html ......
quickjs

Hello QuickJS

#include "quickjs.h" #include "quickjs-libc.h" #include <string.h> JSRuntime* QJSRuntime = nullptr; JSContext* QJSContext = nullptr; JSContext* Create ......
QuickJS Hello
共12篇  :1/1页 首页上一页1下一页尾页