内容简介:QuickJS 是一个小型并且可嵌入的 Javascript 引擎,它支持 ES2019 规范,包括模块,异步生成器和代理器。 它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。 主要功能 轻量而且易于...
QuickJS 是一个小型并且可嵌入的 Javascript 引擎,它支持 ES2019 规范,包括模块,异步生成器和代理器。
它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
主要功能
- 轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个 x86 下的简单的“hello world”程序只要 180 KiB。
- 具有极低启动时间的快速解释器: 在一台单核的台式 PC 上,大约在 100 秒内运行 ECMAScript 测试套件 56000 次。运行时实例的完整生命周期在不到 300 微秒的时间内完成。
- 几乎完整实现 ES2019 支持,包括: 模块,异步生成器和和完整 Annex B 支持 (传统的 Web 兼容性)。
- 通过 100% 的 ECMAScript Test Suite 测试。
- 可以将 Javascript 源编译为没有外部依赖的可执行文件。
- 使用引用计数(以减少内存使用并具有确定性行为)的垃圾收集与循环删除。
- 数学扩展:BigInt, BigFloat, 运算符重载, bigint 模式, math 模式.
- 在 Javascript 中实现的具有上下文着色和完成的命令行解释器。
- 采用 C 包装库构建的内置标准库。
用法
安装
提供 Makefile 可以在 Linux 或者 MacOS/X 上编译。通过使用 MingGW 工具在 Linux 主机上进行交叉编译,可以获得初步的 Windows 支持。
如果要选择特定选项,请编辑Makefile
顶部,然后运行make
。
使用 root 身份执行 make install
可以将编译的二进制文件和支持文件安装到 /usr/local
(这不是使用 QuickJS 所必需的).
快速入门
qjs
是命令行解析器 (Read-Eval-Print Loop). 您可以将 Javascript 文件和/或表达式作为参数传递以执行它们:
./qjs examples/hello.js
qjsc
是命令行编译器:
./qjsc -o hello examples/hello.js
./hello
生成一个没有外部依赖的 hello
可执行文件。
qjsbn
和 qjscbn
是具有数学扩展的相应解释器和编译器:
./qjsbn examples/pi.js 1000
显示PI的1000位数字
./qjsbnc -o pi examples/pi.js
./pi 1000
编译并执行PI程序。
下载
项目网址
官网:https://bellard.org/quickjs/
中文:https://github.com/quickjs-zh/QuickJS
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- hi-nginx-1.7.8 发布,嵌入duktape引擎,支持js开发
- 用go来做嵌入式开发-嵌入资源简化程序部署
- ActiveMQ嵌入Tomcat
- 词嵌入的那些事儿(一)
- 嵌入式Python环境
- 嵌入式系统(Linux)优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。