QuickJS,一个小型并且可嵌入的 Javascript 引擎

栏目: 软件资讯 · 发布时间: 6年前

内容简介: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程序。

下载

Windows 32位

MacOS 64位

Linux 32位

源代码

项目网址

官网:https://bellard.org/quickjs/

中文:https://github.com/quickjs-zh/QuickJS


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Beginning Google Maps API 3

Beginning Google Maps API 3

Gabriel Svennerberg / Apress / 2010-07-27 / $39.99

This book is about the next generation of the Google Maps API. It will provide the reader with the skills and knowledge necessary to incorporate Google Maps v3 on web pages in both desktop and mobile ......一起来看看 《Beginning Google Maps API 3》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具