鸿蒙next开发:方舟字节码函数命名规则

概述

本文介绍字节码文件中Method的name_off字段指向的字符串的命名规则,该规则从方舟字节码文件版本12.0.4.0开始生效。

入口函数

模块加载时被执行的函数,名称固定为func_main_0。

非入口函数

其他函数在字节码文件中的名称结构如下:

#前缀#原函数名

下面的章节将会详细介绍前缀和原函数名。

前缀

前缀包含函数定义时所在的作用域信息。包含以下几个部分:

  • 作用域标签
  • 作用域名称
  • 重名序号

前缀的结构为

<作用域标签1><作用域名称1>[<重名序号>]<作用域标签2><作用域名称2><[重名序号]>...<作用域标签n><作用域名称n>[<重名序号>]<作用域标签n+1>

其中<>仅为便于阅读的分割标识,并不包含在实际的前缀中,[]表示可以为空。仅当出现重名作用域时才需要[<重名序号>],即[<重名序号>]可以为空。最后一个作用域标签是本函数所对应的标签。

作用域标签

作用域标签表示作用域的类型。作用域和对应的作用域标签如下表所示,其他的作用域不会被记录进函数名中:

作用域 作用域标签 说明
~ class关键字定义的作用域
实例函数 > 类的实例成员函数定义的作用域
静态函数 < 类的静态成员函数定义的作用域
构造函数 = 类的构造函数定义的作用域
普通函数 *
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值