0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发学习:【ets_frontend组件】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-10 19:58 次阅读

简介

ets_frontend组件是方舟运行时子系统的前端工具,结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件。

ets_frontend组件架构图

目录

/arkcompiler/ets_frontend/
├── test262            # test262测试配置和运行脚本
├── testTs             # 系统测试目录
├── es2panda
    ├── aot            # 逻辑入口
    ├── binder         # 信息绑定
    ├── compiler       # 编译逻辑
    ├── ir             # 字节码生成
    ├── lexer          # 词法分析
    ├── parser         # 语法解析,ast生成
    ├── scripts        # 脚本目录
    ├── test           # 测试目录
    ├── typescript     # typescript支持
    └── util           # 工具目录
├── ts2panda
    ├── doc            # 文档
    ├── scripts        # 依赖的脚本
    ├── src            # 源码存放目录
    ├── templates      # ruby模板文件
    ├── tests          # UT单元测试目录
    ├── tools          # ts2abc提供的工具
    └── ts2abc         # abc文件生成相关

编译构建

ets_frontend组件采用命令行交互方式,支持将JavaScript代码转换为方舟字节码文件,使其能够在方舟运行时上运行。支持Windows/Linux/MacOS平台。方舟前端工具在linux平台上可通过全量编译或指定编译前端工具链获取。

$ ./build.sh --product-name rk3568 --build-target ets_frontend_build

使用说明

es2panda使用方式

使用ets_frontend组件下的es2abc可执行文件将JavaScript文件转换为方舟字节码文件

$ cd out/rk3568/clang_x64/arkcompiler/ets_frontend/
$ ./es2abc [options] file.js

当不输入任何option参数时,默认生成方舟二进制文件。

[]()

[]()[]()选项[]()[]()描述[]()[]()取值范围[]()[]()默认值
[]()[]()--debug-info[]()[]()携带debug信息[]()[]()-[]()[]()-
[]()[]()--debugger-evaluate-expression[]()[]()debugger下对输入的base64形式的表达式求值[]()[]()-[]()[]()-
[]()[]()--dump-assembly[]()[]()输出为汇编文件[]()[]()-[]()[]()-
[]()[]()--dump-ast[]()[]()打印解析得到的ast(抽象语法树)[]()[]()-[]()[]()-
[]()[]()--dump-debug-info[]()[]()打印debug信息[]()[]()-[]()[]()-
[]()[]()--dump-literal-buffer[]()[]()打印literal buffer内容[]()[]()-[]()[]()-
[]()[]()--dump-size-stat[]()[]()显示字节码相关的统计信息[]()[]()-[]()[]()-
[]()[]()--extension[]()[]()指定输入类型[]()[]()['js', 'ts', 'as'][]()[]()-
[]()[]()--help[]()[]()帮助提示[]()[]()-[]()[]()-
[]()[]()--module[]()[]()按照ESM模式编译[]()[]()-[]()[]()-
[]()[]()--opt-level[]()[]()指定编译优化等级[]()[]()['0', '1', '2'][]()[]()0
[]()[]()--output[]()[]()输出文件路径[]()[]()-[]()[]()-
[]()[]()--parse-only[]()[]()只对输入文件做解析动作[]()[]()-[]()[]()-
[]()[]()--thread[]()[]()指定生成字节码时所用的线程数目[]()[]()0-机器支持的线程数目[]()[]()0

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    55

    文章

    1641

    浏览量

    42123
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    ://gitee.com/openharmony/applications_app_samples.git git pull origin master ​ 最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?
    发表于 03-03 21:29

    学习鸿蒙背后的价值?星河版开放如何学习

    需要有更多的鸿蒙人才;鸿蒙开发工程师也将会迎来爆发式的增长! 所以学习鸿蒙势在必行,而大部分人都能适合学
    发表于 02-22 20:55

    鸿蒙ArkUI开发-Tabs组件的使用

    鸿蒙ArkUI开发-Tabs组件的使用
    的头像 发表于 01-19 16:01 441次阅读
    <b class='flag-5'>鸿蒙</b>ArkUI<b class='flag-5'>开发</b>-Tabs<b class='flag-5'>组件</b>的使用

    鸿蒙开发OpenHarmony组件复用案例

    ) } }, item => item) } } } 本文主要是对鸿蒙开发基础当中的OpenHarmony技术组件复用示例, 更多鸿蒙开发
    发表于 01-15 17:37

    鸿蒙开发基础-Web组件之cookie操作

    }) ... } ... 本文章主要是对鸿蒙开发当中ArkTS语言的基础应用实战,Web组件里的cookie操作。更多的鸿蒙应用开发
    发表于 01-14 21:31

    免费学习鸿蒙(HarmonyOS)开发,一些地址分享

    国内一流高校。通过鸿蒙班的设立,高校可以为学生提供专业的鸿蒙OS学习环境和丰富的实践机会,培养出更多的鸿蒙开发人才,为
    发表于 01-12 20:48

    鸿蒙基础开发实战-(ArkTS)像素转换

    的使用。通过像素转换案例,向开发者讲解了如何使用像素单位设置组件的尺寸、字体的大小以及不同像素单位之间的转换方法。更多鸿蒙4.0的学习,可以前往主页
    发表于 01-11 16:53

    鸿蒙 OS 应用开发初体验

    大家对华为生态的应用开发感兴趣或者想深入学习借鉴华为做 OS 和物联网的思路,鸿蒙系统就是一个标杆。 转自【巫山老妖】
    发表于 11-02 19:38

    OpenHarmony应用开发—ArkUI组件集合

    介绍 本示例为ArkUI中组件、通用、动画、全局方法的集合。 工程目录 entry/src/main/ets/ |---component
    发表于 09-22 14:56

    #深入浅出学习eTs#(八)“猜大小”小游戏

    本项目Gitee仓地址:[深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com)](   上一章节提到的模拟器存在的BUG问题,目前没有办法直接改善,本来打算直接使用
    的头像 发表于 05-17 15:08 734次阅读
    #深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>#(八)“猜大小”小游戏

    #深入浅出学习eTs#(十)蓝药丸还是红药丸

    本项目Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、需求分析 我们本章的内容选择致敬黑客帝国,如果你处于主角的立场,你会选择蓝药丸还是
    的头像 发表于 05-17 15:07 691次阅读
    #深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>#(十)蓝药丸还是红药丸

    深入浅出学习eTs之九宫格密码锁功能实现

    本项目Gitee仓地址:深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、需求分析 相信没有人没有使用过九宫格解锁吧,从智能机开始迸发的时期到现在,我们本期就
    的头像 发表于 05-13 13:25 1048次阅读
    深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>之九宫格密码锁功能实现

    #深入浅出学习eTs#(九)变红码?专属二维码生成

    本项目Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、需求分析 我们本章的内容是要制作一个可以随着自己想要内容而变化的一个二维码,通过输
    的头像 发表于 05-13 13:21 1007次阅读
    #深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>#(九)变红码?专属二维码生成

    深入浅出学习eTs(七)如何判断密码是否正确

    本项目Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、基本界面 本项目基于#深入浅出学习
    的头像 发表于 05-13 13:20 650次阅读
    深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>(七)如何判断密码是否正确

    深入浅出学习eTs(一)模拟器/真机环境搭建

    本项目的Gitee仓地址: 深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) (之前有些意外,数据丢失了,现在重新发,且不参与任何活动,在第一篇说明一下,之后就不
    的头像 发表于 05-13 13:17 1145次阅读
    深入浅出<b class='flag-5'>学习</b><b class='flag-5'>eTs</b>(一)模拟器/真机环境搭建