代码拉取完成,页面将自动刷新
ArkCompiler是一种统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
推荐操作系统Ubuntu18.04及以上。
安装依赖工具。
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工具。
mkdir ~/bin/
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下载源码。
repo init -u https://gitee.com/ark-standalone-build/manifest.git -b master
repo sync -c -j8
repo forall -c 'git lfs pull'
安装编译器及二进制工具。
./prebuilts_download.sh
按需选择操作步骤。
export QEMU_INSTALLATION_PATH=${qemu_installation_path}
编译出可执行程序es2panda(es2abc)、ark_js_vm。
python ark.py x64.release es2panda ark_js_vm
用es2abc生成.ts文件对应的ArkCompiler字节码文件。
out/x64.release/arkcompiler/ets_frontend/es2abc helloworld.ts
TypeScript用例文件helloworld.ts源码:
declare function print(arg: any): any;
print('Hello world!');
生成的文件:helloworld.abc
用ark_js_vm运行生成的ArkCompiler字节码文件。
out/x64.release/arkcompiler/ets_runtime/ark_js_vm helloworld.abc
执行结果:
Hello world!
python ark.py x64.release unittest
python ark.py x64.release test262
python ark.py x64.release regresstest
python ark.py x64.release workload
python ark.py x64.release workload [report][dev][-number][number][cases_type]
详细说明,添加以下参数时请按顺序添加
report:是否生成报表,可省略,若省略该选项,请不要在后面添加其他参数
dev:编译类型,可省略,若省略该选项,请不要在后面添加其他参数
-number:劣化标记边界值,可省略,若省略该选项,请不要在后面添加其他参数
number:用例运行次数,可省略,若省略该选项,请不要在后面添加其他参数
cases_type:用例的类型,可省略,省略时执行全量workload
例:执行workload,并将结果输出到表格,标记劣化20%的数据,每个用例执行10次
python ark.py x64.release workload report dev -20 10
编译模式选择,如在x64平台构建debug版本:
python ark.py x64.debug
获取更多编译说明
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。