# 工具链使用
方舟前端工具采用命令行交互方式,支持将JS代码转换为方舟字节码,使其能够在方舟运行时上运行。支持Windows/Linux/Mac平台。
## JS字节码编译工具概述
使用前端工具将JS文件转换为方舟字节码文件。方舟前端工具在linux平台上可通过全量编译或指定编译前端工具链获取。
构建编译:
```
$ ./build.sh --product-name Hi3516DV300 --build-target ark_ts2abc
```
安装`node`和`npm`后, 使用前端工具:
```
$ cd out/hi3516dv300/clang_x64/ark/ark/build
$ npm install
$ node --expose-gc src/index.js [选项] file.js
```
选项
|
缩写
|
描述
|
取值范围
|
默认值
|
--modules
|
-m
|
按照Module方式编译
|
-
|
-
|
--debug-log
|
-l
|
使能log信息
|
-
|
-
|
--dump-assembly
|
-a
|
输出为可读文本格式的字节码文件
|
-
|
-
|
--debug
|
-d
|
携带debug信息
|
-
|
-
|
--show-statistics
|
-s
|
显示字节码相关的统计信息
|
-
|
-
|
--output
|
-o
|
输出文件路径
|
-
|
-
|
--timeout
|
-t
|
超时门限
|
-
|
-
|
--help
|
-h
|
帮助提示
|
-
|
-
|
--bc-version
|
-v
|
输出当前字节码版本
|
-
|
-
|
--bc-min-version
|
|
输出支持的最低字节码版本
|
-
|
-
|
## 汇编器工具概述
工具名称为ark\_asm,用于将文本格式的方舟字节码文件转换为二进制格式的方舟字节码文件。
命令行格式:
```
ark_asm [选项] 输入文件 输出文件
```
选项
|
描述
|
--dump-scopes
|
将结果保存到json文件中,以支持在VS Code中的debug模式
|
--help
|
帮助提示
|
--log-file
|
使能log打印后,指定log文件输出路径
|
--optimize
|
使能编译优化
|
--size-stat
|
统计并打印出转换后方舟字节码信息
|
--verbose
|
使能log打印
|
输入文件:文本格式的方舟字节码
输出文件:二进制格式的方舟字节码
## 反汇编器工具概述
工具名称为ark\_disasm,用于将二进制格式的方舟字节码文件转换为文本格式的方舟字节码文件。
命令行格式:
```
ark_disasm [选项] 输入文件 输出文件
```
选项
|
描述
|
--debug
|
使能调试信息
|
--debug-file
|
调试信息输出文件路径,默认为std::cout
|
--help
|
帮助提示
|
--verbose
|
增加输出文件的注释信息
|
输入文件:二进制格式的方舟字节码
输出文件:文本格式的方舟字节码