quickjs libuv

libevent,libev,libuv

libevent,libev,libuv都是c实现的异步事件库,注册异步事件,检测异步事件,根据事件的触发先后顺序,调用相对应回调函数处理事件。处理的事件包括:网络 io 事件、定时事件以及信号事件。这三个事件驱动着服务器的运行。 1. 网络io事件: linux:epoll、poll、select ......
libevent libev libuv

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

libuv多线程简单应用示范

#include <stdio.h> #include <uv.h> // 声明回调函数 void asyncCallback(uv_async_t* handle); void close_cb(); void thread_func_1(void *arg); void thread_func_ ......
线程 libuv

libuv库简单使用

libuv是跨平台、轻量级的异步I/O库,由Node.js团队发起和维护。它提供了事件循环、定时器、异步文件和网络操作等功能,使开发者可以方便地处理各种I/O任务。 libuv提供了一套强大而易用的异步I/O编程接口,在网络编程、文件系统操作、定时器等方面具有广泛的应用场景。由于其开源、跨平台、高效 ......
libuv

libuv windows编译和学习资料

官方下载 github 代码 使用cmake编译 windows仅仅支持cmake 然后编译出lib 放入vs工程 vs加入头文件和lib文件路径 ,lib名加入工程依赖 如图 需要加入lib很多 libuv.lib uv.lib Ws2_32.lib advapi32.lib iphlpapi.l ......
学习资料 windows 资料 libuv

mingw compile libuv

Compile failed in mingw64 https://github.com/libuv/libuv/commit/be8e237a8e462f8517392eccf0f94a30d16d7ef3 win: define ERROR_ELEVATION_REQUIRED for MinG ......
compile mingw libuv

window10子系统下 libuv clone本地编译提示./autogen.sh: aclocal: not found错误

libuv文档 https://docs.libuv.org/en/v1.x/guide/introduction.html Code All the example code and the source of the book is included as part of the libuv p ......
子系统 错误 autogen aclocal window

Node.js Event Loop & V8 engine & libuv All In One

Node.js Event Loop & V8 engine & libuv All In One 事件循环 ......
amp engine Event libuv Node

Hello QuickJS

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