如果要选择特定选项,请编辑Makefile顶部,然后运行make

    使用root身份执行 make install 可以将编译的二进制文件和支持文件安装到 /usr/local (这不是使用QuickJS所必需的).

    :可以参考QuickJS中文关于及Linux下编译安装相关文档。

    2.2 快速入门

    qjs 是命令行解析器 (Read-Eval-Print Loop). 您可以将Javascript文件和/或表达式作为参数传递以执行它们:

    qjsc 是命令行编译器:

    1. ./qjsc -o hello examples/hello.js
    2. ./hello

    生成一个没有外部依赖的 hello 可执行文件。

    qjsbnqjscbn 是具有数学扩展的相应解释器和编译器:

    显示PI的1000位数字

    1. ./qjsbnc -o pi examples/pi.js

    编译并执行PI程序。

    2.3.1 qjs 解释器

    用法: qjs [options] [files]

    选项:

    --help

    选项列表。

    -e `EXPR`

    --eval `EXPR`

    执行EXPR.

    -i

    转到交互模式 (在命令行上提供文件时,它不是默认模式).

    -m

    --module

    加载为ES6模块(默认为.mjs文件扩展名)。

    高级选项包括:

    -d

    --dump

    转存内存使用情况统计信息。

    -q

    --quit

    只是实例化解释器并退出。

    2.3.2 qjsc 编译器

    用法: qjsc [options] [files]

    选项:

    -c

    仅输出C文件中的字节码,默认是输出可执行文件。

    -e

    main() C文件中的输出和字节码,默认是输出可执行文件。

    -o output

    设置生成数据的C名称。

    -m

    编译为Javascript模块(默认为.mjs扩展名)。

    -M module_name[,cname]

    添加外部C模块的初始化代码。查看c_module示例。

    -x

    字节交换输出(仅用于交叉编译)。

    -flto

    使用链接时间优化。编译速度较慢,但可执行文件更小更快。使用选项时会自动设置此选项-fno-x

    -fno-[eval|string-normalize|regexp|json|proxy|map|typedarray|promise]

    禁用所选语言功能以生成较小的可执行文件。

    2.4 qjscalc 应用程序

    qjscalc应用程序是qjsbn命令行解释器的超集,它实现了一个具有任意大整数和浮点数,分数,复数,多项式和矩阵的Javascript计算器。源代码在qjscalc.js中。上提供了更多文档和Web版本。

    运行make test以运行QuickJS存档中包含的一些内置测试。

    2.6 Test262 (ECMAScript 测试套件))

    QuickJS存档中包含test262运行程序。

    作为参考,完整的test262测试在档案qjs-tests-yyyy-mm-dd.tar.xz中提供。您只需将其解压缩到QuickJS源代码目录中即可。

    或者,test262测试可以安装:

    补丁添加了特定于实现的harness函数,并优化了低效的RegExp字符类和Unicode属性转义测试(测试本身不会被修改,只有慢速字符串初始化函数被优化)。

    1. make test2

    有关更多信息,请运行./run-test262以查看test262 runner的选项。配置文件test262.conftest262bn.conf包含运行各种测试的选项。