• Home
Name Date Size #Lines LOC

..--

compile_script/12-May-2024-363271

config/12-May-2024-569486

core/gn/12-May-2024-4538

prebuilts_download/12-May-2024-550446

templates/cxx/12-May-2024-138130

third_party_gn/12-May-2024-1,1761,130

toolchain/12-May-2024-1,250974

README.mdD12-May-20242.3 KiB7560

ark.gniD12-May-2024693 1815

ark_var.gniD12-May-2024653 1816

preconfig_ubuntu.mdD12-May-20241.2 KiB3326

test.gniD12-May-20242.4 KiB7969

README.md

1# 方舟编译器部件
2
3## 简介
4方舟编译器部件供了一个基于GN和Ninja的集成编译构建框架。构建流程由鸿蒙方舟编译分流,并在构建基础上增加跨平台方式。
5
6方舟编译器部件架构图:
7
8![](../figures/zh-cn_image_arkcompiler.png)
9
10## 目录结构
11```
12/arkcompiler/
13├── profiler            # 性能调优组件
14├── ets_runtime         # 方舟eTS(兼容JS/TS)运行时时
15├── runtime_core        # 方舟运行时公共库
16├── ets_frontend        # 方舟eTS(兼容JS/TS)前端编译器
17├── toolchain           # 方舟运行时调试调优工具链
18│   └── build           # 编译配置
19├── third_party         # 三方库
20│   └── protobuf
21│   └── icu
22│   └── zlib
23│   └── bounds_checking_function
24```
25
26## 环境配置
27获取源码及安装依赖工具,详细参考[点击这里](https://gitee.com/lordwithcc/arkcompiler_toolchain/blob/add_standalone_part/build/preconfig_ubuntu.md)
28
29## 使用说明
30abc文件:由方舟前端将js文件转换生成的字节码文件
31
32ark_js_vm:运行abc文件的工具
33
34### step1 生成编译产物ark_js_vm
35```
36python ark.py x64.release
37```
38### step2 将js文件转换为abc文件
39```
40./out/x64.release/arkcompiler/ets_frontend/es2abc test.js
41```
42### step3 执行生成的abc文件
43```
44LD_LIBRARY_PATH=out/x64.release:prebuilts/clang/ohos/linux-x86_64/llvm/lib ./out/x64.release/arkcompiler/ets_runtime/ark_js_vm test.abc
45```
46### 执行262测试套
47```
48python ark.py x64.release -test262
49```
50
51## 编译选项
52
53交叉编译可根据目标选择不同平台,在x64平台构建android_arm目标平台
54```
55python ark.py android_arm.release
56```
57编译模式选择,在x64平台构建debug版本
58```
59python ark.py x64.debug
60```
61获取更多编译说明
62```
63python ark.py -help
64```
65
66## 相关仓
67[arkcompiler\_runtime\_core](https://gitee.com/openharmony/arkcompiler_runtime_core)
68
69[arkcompiler\_ets\_runtime](https://gitee.com/openharmony/arkcompiler_ets_runtime)
70
71[arkcompiler\_ets\_frontend](https://gitee.com/openharmony/arkcompiler_ets_frontend)
72
73**[arkcompiler\_toolchain](https://gitee.com/openharmony/arkcompiler_toolchain)**
74
75[developtools\_profiler](https://gitee.com/openharmony/developtools_profiler)