ArkCompiler 开发
ArkCompiler 开发
作者:坚果
团队:坚果派
公众号:“大前端之旅”
润开鸿技术专家,华为 HDE,InfoQ 签约作者,OpenHarmony 布道师,擅长 HarmonyOS 应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领 100+队员完成 Pr 的提交合入。
欢迎通过主页或者私信联系我,加入坚果派,一起学习 OpenHarmony/HarmonyOS 应用开发。
概述
ArkCompiler 是一种统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
ArkCompiler 会把 ArkTS/TS/JS 编译为方舟字节码,运行时直接运行方舟字节码。并且 ArkCompiler 使用多种混淆技术提供更高强度的混淆与保护,使得 HarmonyOS 应用包中装载的是多重混淆后的字节码,有效提高了应用代码安全的强度。
ArkCompiler 运行时在 HarmonyOS 上提供了 Worker API 支持并发编程。在运行时实例内存隔离的基础上,ArkCompiler 通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。
ArkCompiler 利用 ArkTS 的静态类型信息,进行类型推导并生成对象描述和内联缓存,加速运行时对字节码的解释执行;AOT(Ahead-of-Time)Compiler 利用静态类型信息直接将字节码编译生成优化机器码,让应用启动即可运行高性能代码,提升应用启动和运行性能。
编译环境配置
1.安装依赖工具。
2.安装 repo 工具。
3.下载源码。
4.安装编译器及二进制工具。
开发步骤
1.生成编译产物 ark_js_vm 及 ts2panda。
ark_js_vm:运行 abc 文件的可执行程序。
ts2panda:将 ArkTS 文件转换生成 ArkCompiler 字节码文件的工具。
2.使用 ts2panda 将 TypeScript 文件转换为 abc 文件。
TypeScript 用例文件 helloworld.ts 源码。
3.执行生成的 abc 文件。
abc 文件:ArkCompiler 字节码文件。
执行结果:
执行 Test262 测试套
编译选项
编译模式选择,如在 x64 平台构建 debug 版本。
获取更多编译说明。
compileruntime/sig-compile-runtime.md
版权声明: 本文为 InfoQ 作者【坚果】的原创文章。
原文链接:【http://xie.infoq.cn/article/3cec7e1fb86b985ec6549a669】。文章转载请联系作者。
评论