未验证 提交 aae7b613 编写于 作者: W Wang Yaofeng 提交者: Gitee

fix style

Signed-off-by: NWang Yaofeng <wangyaofeng.wang@huawei.com>
上级 c3d62684
...@@ -4,76 +4,78 @@ ...@@ -4,76 +4,78 @@
ArkCompiler是一种统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。 ArkCompiler是一种统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
## 编译环境配置 ## 编译环境配置
推荐操作系统Ubuntu18及以上 推荐操作系统Ubuntu18.04及以上。
### 安装依赖工具 1. 安装依赖工具。
``` ```shell
sudo apt-get update && sudo apt-get install python ruby python3-pip git-lfs gcc-multilib g++-multilib zlib1g-dev libc++1 curl nodejs sudo apt-get update && sudo apt-get install python ruby python3-pip git-lfs gcc-multilib g++-multilib zlib1g-dev libc++1 curl nodejs
``` ```
### 安装repo工具 2. 安装repo工具。
``` ```shell
mkdir ~/bin/ mkdir ~/bin/
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod a+x ~/bin/repo chmod a+x ~/bin/repo
export PATH=~/bin:$PATH export PATH=~/bin:$PATH
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
``` ```
### 下载源码 3. 下载源码。
``` ```shell
repo init -u https://gitee.com/ark-standalone-build/manifest.git -b master repo init -u https://gitee.com/ark-standalone-build/manifest.git -b master
repo sync -c -j8 repo sync -c -j8
repo forall -c 'git lfs pull' repo forall -c 'git lfs pull'
``` ```
### 安装编译器及二进制工具 4. 安装编译器及二进制工具。
``` ```shell
./prebuilts_download.sh ./prebuilts_download.sh
``` ```
## 开发步骤 ## 开发步骤
- abc文件:ArkCompiler字节码文件
- js2abc:将ArkTS文件转换生成ArkCompiler字节码文件的工具
- ark_js_vm:运行abc文件的可执行程序
TypeScript用例文件源码 1. 生成编译产物ark_js_vm及js2abc。
``` ```shell
declare function print(arg:any):string; python ark.py x64.release
print("Hello world!"); ```
``` - ark_js_vm:运行abc文件的可执行程序。
#### 1. 生成编译产物ark_js_vm及js2abc - js2abc:将ArkTS文件转换生成ArkCompiler字节码文件的工具。
```
python ark.py x64.release
```
#### 2. 将TypeScript文件转换为abc文件
```
prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin/node --expose-gc out/x64.release/clang_x64/obj/arkcompiler/ets_frontend/ts2panda/build/src/index.js helloworld.ts --opt-level 0
```
#### 3. 执行生成的abc文件 2. 将TypeScript文件转换为abc文件。
``` ```shell
out/x64.release/clang_x64/arkcompiler/ets_runtime/ark_js_vm helloworld.abc prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin/node --expose-gc out/x64.release/clang_x64/obj/arkcompiler/ets_frontend/ts2panda/build/src/index.js helloworld.ts --opt-level 0
``` ```
执行结果 TypeScript用例文件helloworld.ts源码。
``` ```JavaScript
Hello world! declare function print(arg:any):string;
``` print("Hello world!");
```
3. 执行生成的abc文件。
```shell
out/x64.release/clang_x64/arkcompiler/ets_runtime/ark_js_vm helloworld.abc
```
abc文件:ArkCompiler字节码文件。
执行结果:
```
Hello world!
```
### 执行262测试套 ### 执行Test262测试套
``` ```
python ark.py x64.release test262 python ark.py x64.release test262
``` ```
## 编译选项 ## 编译选项
交叉编译可根据目标选择不同平台,如在x64平台构建arm64目标平台,更多平台选择可参考下方获取更多编译说明 交叉编译可根据目标选择不同平台,如在x64平台构建arm64目标平台,更多平台选择可参考下方获取更多编译说明
``` ```
python ark.py arm64.release python ark.py arm64.release
``` ```
编译模式选择,如在x64平台构建debug版本 编译模式选择,如在x64平台构建debug版本
``` ```
python ark.py x64.debug python ark.py x64.debug
``` ```
获取更多编译说明 获取更多编译说明
``` ```
python ark.py --help python ark.py --help
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册