QuickJS,一个小型并且可嵌入的 Javascript 引擎
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程序。
下载
项目网址
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
fastjson 存在远程代码执行 0day 漏洞,建议升级至最新版本
2019年6月22日,阿里云云盾应急响应中心监测到FastJSON存在0day漏洞,攻击者可以利用该漏洞绕过黑名单策略进行远程代码执行。 漏洞名称 FastJSON远程代码执行0day漏洞 漏洞描述 利用该0day漏洞,恶意攻击者可以构造攻击请求绕过FastJSON的黑名单策略。例如,攻击者通过精心构造的请求,远程让服务端执行指定命令(以下示例中成功运行计算器程序)。 影响范围 FastJSON 1.2.48以下版本 官方解决方案 升级至FastJSON最新版本,建议升级至1.2.58版本。 说明强烈建议不在本次影响范围内的低版本FastJSON也进行升级。 升级方法 您可以通过更新Maven依赖配置,升级FastJSON至最新版本(1.2.58版本)。 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency&...
- 下一篇
Ubuntu LTS 版本将提供最新的 Nvidia 驱动更新
Ubuntu 18.04 LTS 用户现在可以通过常规 Ubuntu 更新通道安装最新版本的专有 Nvidia 驱动程序,而无需再使用单独的 PPA 或是用老式的方法手动安装。 Ubuntu 的SRU(Stable Release Update,稳定版本更新)计划使这一切成为可能。也正是它使其他应用程序(如 Mozilla Firefox 和 Chromium)在长期支持版本上保持最新状态。现在,该计划终于扩展到了用于 Linux 的专有 Nvidia 驱动程序上。 Ubuntu 官方推特账号宣布了该消息,并附上一条解说视频:Nvidia 驱动更新将先被打包到-proposed更新通道接受测试,没问题的话就送入-updates通道推送。这意味着无需再手动下载更新安装,最新的 Nvidia 驱动程序在 18.04 LTS 上开箱即用。 不只是 18.04,16.04 LTS版本也将很快获得此功能。 基于 Ubuntu 18.04 LTS 的任何 Linux 发行版的用户,例如 Linux Mint 19.1、Zorin OS 15 等等,同样都可以获得 Nvidia 驱动更新。 想立即尝...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS6,CentOS7官方镜像安装Oracle11G
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作