本帖最后由 hxznhf 于 2024-6-25 23:17 编辑
QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。 它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
官方站点:https://bellard.org/quickjs/
库简介
- 轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB。
- 具有极低启动时间的快速解释器: 在一台单核的台式PC上,大约在100秒内运行ECMAScript 测试套件56000次。运行时实例的完整生命周期在不到300微秒的时间内完成。
- 几乎完整实现ES2019支持,包括: 模块,异步生成器和和完整Annex B支持 (传统的Web兼容性)。许多ES2020中带来的特性也依然会被支持。
- 通过100%的ECMAScript Test Suite测试。
- 可以将Javascript源编译为没有外部依赖的可执行文件。
- 使用引用计数(以减少内存使用并具有确定性行为)的垃圾收集与循环删除。
- 数学扩展:BigInt, BigFloat, 运算符重载, bigint模式, math模式.
- 在Javascript中实现的具有上下文着色和完成的命令行解释器。
- 采用C包装库构建的内置标准库。
之前写过简易的http服务,用dll做插件来扩展web服务接口,但是易语言始终是编译型语言,没有js玩的花,最近突然发现了这个轻量的js引擎库,就尝试编译了它的动态库,然后用易语言调用实现了一个简单的执行js脚本的例子,可以利用这个库实现类似nodejs这种直接js写web接口的玩具就挺有意思的。
这里先把quickjs库的源代码和编译后的dll以及易语言使用例子发出来,给大家玩玩!!!
附件太大传不上,链接:https: // www. 123pan .com/s/mOnbVv-Qr3Ad.html 提取码:YSYA
|