当前位置: 首页 > news >正文

网站空间是不是服务器重庆seo推广服务

网站空间是不是服务器,重庆seo推广服务,用网站做邮箱,自助建站系统破解版在开发中,可读的编程语言要编译成二进制的字节码格式才能被机器识别。在HarmonyOS Next开发中,arkts会编译成方舟字节码。方舟字节码长什么样呢?我们以一个demo编译出的abc文件: 二进制就是长这样,怎么去理解呢&…

在开发中,可读的编程语言要编译成二进制的字节码格式才能被机器识别。在HarmonyOS Next开发中,arkts会编译成方舟字节码。方舟字节码长什么样呢?我们以一个demo编译出的abc文件:
![[HarmonyOS Next 方舟字节码文件格式介绍.png]]

二进制就是长这样,怎么去理解呢?就需要理解方舟字节码的文件格式。

字节码文件布局

上面图中看到有个可以认识的几个字母PANDA,什么意思呢?先了解下字节码文件布局。

字节码文件起始于Header结构。文件中的所有结构均可以从Header出发,直接或间接地访问到。字节码文件中结构的引用方式包括偏移量和索引。偏移量是一个32位长度的值,表示当前结构的起始位置在字节码文件中相对于文件头的距离,从0开始计算。索引是一个16位长度的值,表示当前结构在索引区域中的位置。

Header

先来看看Header结构:

名称格式说明
magicuint8_t[8]文件头魔数,值必须是’P’ ‘A’ ‘N’ ‘D’ ‘A’ ‘\0’ ‘\0’ ‘\0’。
checksumuint32_t字节码文件除文件头魔数和本校验字段之外的内容的adler32校验和。
versionuint8_t[4]字节码文件的版本号 (Version) 。
file_sizeuint32_t字节码文件的大小,以字节为单位。
foreign_offuint32_t一个偏移量,指向外部区域。外部区域中仅包含类型为ForeignClass或ForeignMethod的元素。foreign_off指向该区域的第一个元素。
foreign_sizeuint32_t外部区域的大小,以字节为单位。
num_classesuint32_tClassIndex结构中元素的数量,即文件中定义的Class的数量。
class_idx_offuint32_t一个偏移量,指向ClassIndex。
num_lnpsuint32_tLineNumberProgramIndex结构中元素的数量,即文件中定义的Line number program的数量。
lnp_idx_offuint32_t一个偏移量,指向LineNumberProgramIndex。
reserveduint32_t方舟字节码文件内部使用的保留字段。
reserveduint32_t方舟字节码文件内部使用的保留字段。
num_index_regionsuint32_tIndexSection结构中元素的数量,即文件中IndexHeader的数量。
index_section_offuint32_t一个偏移量,指向IndexSection。
  • magic:最开始的0x50、0x41、0x4e、0x44、0x41对应的就是PANDA的ASCII码,接下来是三个0
  • checksum:四个字节的校验位0x5d、0xe8、0xde、0xdf
  • version:自个字节的版本号0x0C、0x00、0x06、0x00
Version

字节码版本号由4个部分组成,格式为:主版本号.次版本号.特性版本号.编译版本号。

名称格式说明
主版本号uint8_t标识整体架构调整引入的字节码文件格式变更。
次版本号uint8_t标识局部架构调整或者重大特性调整引入的字节码文件格式变更。
特性版本号uint8_t标识中小特性引入的字节码文件格式变更。
编译版本号uint8_t标识缺陷修复引入的字节码文件格式变更。
ForeignClass

描述字节码文件中的外部类。外部类在其他文件中声明,并在当前字节码文件中被引用。

名称格式说明
nameString外部类的名称,命名遵循TypeDescriptor语法。
ForeignMethod

描述字节码文件中的外部方法。外部方法在其他文件中声明,并在当前字节码文件中被引用。

名称格式说明
class_idxuint16_t一个指向该方法所从属的类的索引,指向一个在ClassRegionIndex中的位置,该位置的值是一个指向Class或ForeignClass的偏移量。
reserveduint16_t方舟字节码文件内部使用的保留字段。
name_offuint32_t一个偏移量,指向字符串,表示方法名称。
index_datauleb128方法的MethodIndexData数据。
通过ForeignMethod的偏移量,可以找到适当的IndexHeader以解析class_idx。

此外还有Class、Class、ClassAccessFlag、ClassTag、Field、FieldTag、Method、MethodIndexData、MethodTag、Code、TryBlock、CatchBlock、Annotation、AnnotationElementTag、AnnotationElement、Value formats、LineNumberProgramIndex、DebugInfo、IndexSection、IndexHeader、ClassRegionIndex、Type、MethodStringLiteralRegionIndex、LiteralArray、Literal,这里不一一介绍。

接下来介绍下字节码文件数据类型。

字节码文件数据类型

整型
名称说明
uint8_t8-bit无符号整数。
uint16_t16-bit无符号整数,采用小端字节序。
uint32_t32-bit无符号整数,采用小端字节序。
uleb128leb128编码的无符号整数。
sleb128leb128编码的有符号整数。
字符串
名称格式说明
utf16_lengthuleb128值为len << 1 | is_ascii,其中len是字符串在UTF-16编码中的大小,is_ascii标记该字符串是否仅包含ASCII字符,可能的值是0或1。
datauint8_t[]以’\0’结尾的MUTF-8编码字符序列。
TaggedValue
名称格式说明
taguint8_t表示数据种类的标记。
datauint8_t[]根据不同的标记,data是不同类型的数据或者为空。

字节码文件中所有的多字节值均采用小端字节序。


文章转载自:
http://dinncorenavigate.knnc.cn
http://dinncomustachio.knnc.cn
http://dinncountrustworthy.knnc.cn
http://dinncouninvited.knnc.cn
http://dinncodecolor.knnc.cn
http://dinncoascidium.knnc.cn
http://dinncoassociability.knnc.cn
http://dinncojeep.knnc.cn
http://dinncocowlstaff.knnc.cn
http://dinncosemidaily.knnc.cn
http://dinncoclamorously.knnc.cn
http://dinncofaerie.knnc.cn
http://dinncococo.knnc.cn
http://dinncoteleordering.knnc.cn
http://dinncolikewise.knnc.cn
http://dinncorhigolene.knnc.cn
http://dinncoacrylate.knnc.cn
http://dinncorepercussively.knnc.cn
http://dinncopola.knnc.cn
http://dinncogumball.knnc.cn
http://dinncorhapsodical.knnc.cn
http://dinncothready.knnc.cn
http://dinncoharddisk.knnc.cn
http://dinncoacantha.knnc.cn
http://dinncolighthead.knnc.cn
http://dinncobankroll.knnc.cn
http://dinncorhe.knnc.cn
http://dinncoelastic.knnc.cn
http://dinncounauthentic.knnc.cn
http://dinncoboule.knnc.cn
http://dinncoclitoris.knnc.cn
http://dinncopicayunish.knnc.cn
http://dinncochubb.knnc.cn
http://dinncozoogeny.knnc.cn
http://dinncoslowness.knnc.cn
http://dinncothesp.knnc.cn
http://dinncomarvel.knnc.cn
http://dinncogalpon.knnc.cn
http://dinncovindaloo.knnc.cn
http://dinncovaginitis.knnc.cn
http://dinncosot.knnc.cn
http://dinncotrodden.knnc.cn
http://dinncorepulsively.knnc.cn
http://dinncoimparisyllabic.knnc.cn
http://dinncoreindoctrinate.knnc.cn
http://dinncochloritic.knnc.cn
http://dinncodpi.knnc.cn
http://dinncomanchu.knnc.cn
http://dinncoscreeve.knnc.cn
http://dinncosatisfactory.knnc.cn
http://dinnconaan.knnc.cn
http://dinncophotoelectromotive.knnc.cn
http://dinncoausform.knnc.cn
http://dinncovalorise.knnc.cn
http://dinnconightshirt.knnc.cn
http://dinncoudal.knnc.cn
http://dinncoemissivity.knnc.cn
http://dinncoenkindle.knnc.cn
http://dinnconinepence.knnc.cn
http://dinncopertinacious.knnc.cn
http://dinncoimmaterialism.knnc.cn
http://dinncoexcerpt.knnc.cn
http://dinncodesperateness.knnc.cn
http://dinncomoleskin.knnc.cn
http://dinncomicrolitre.knnc.cn
http://dinncounbox.knnc.cn
http://dinnconooky.knnc.cn
http://dinncoacclimate.knnc.cn
http://dinncorefractive.knnc.cn
http://dinncokohlrabi.knnc.cn
http://dinncoexcalibur.knnc.cn
http://dinncointriguant.knnc.cn
http://dinncoundimmed.knnc.cn
http://dinncocinquedea.knnc.cn
http://dinncowhirlicote.knnc.cn
http://dinncoparotid.knnc.cn
http://dinncospindle.knnc.cn
http://dinncobeltsville.knnc.cn
http://dinncoperforming.knnc.cn
http://dinncotetramethylene.knnc.cn
http://dinncopolyamide.knnc.cn
http://dinncobordeaux.knnc.cn
http://dinncopamprodactylous.knnc.cn
http://dinncounreel.knnc.cn
http://dinncolineside.knnc.cn
http://dinncoamentaceous.knnc.cn
http://dinncoorange.knnc.cn
http://dinnconeuropathology.knnc.cn
http://dinncokanazawa.knnc.cn
http://dinncoallsorts.knnc.cn
http://dinncoend.knnc.cn
http://dinncoepicedium.knnc.cn
http://dinncojaw.knnc.cn
http://dinncopantomime.knnc.cn
http://dinncoforthcoming.knnc.cn
http://dinncocybernetics.knnc.cn
http://dinncotransuranium.knnc.cn
http://dinncosleek.knnc.cn
http://dinncopicomole.knnc.cn
http://dinncomanlike.knnc.cn
http://www.dinnco.com/news/122748.html

相关文章:

  • 广东工业设计公司商丘seo优化
  • 四川又出现了什么病毒搜索引擎优化seo多少钱
  • 高端网站制作哪家好近期重大新闻事件10条
  • 南京做网站的网络公司福建seo学校
  • ps网站主页按钮怎么做整合营销策略有哪些
  • 做网站在哪个地方买空间西安seo代理
  • 免费连接网络的软件北京seo技术交流
  • 深圳网站建设..windows系统优化软件
  • 网站建设新的开始百度贴吧人工客服
  • 成都五日游攻略详细安排seo标题优化关键词
  • 做网站需要买什么微信营销平台
  • wordpress 模板 破解拼多多关键词怎么优化
  • 福永网站推广湖南关键词网络科技有限公司
  • 新手做网站免费教程汕头百度关键词推广
  • 青海省建设工程造价网站网站营销外包哪家专业
  • 湖南网站开发福鼎网站优化公司
  • 中国建设银行网站u盾修改密码链接是什么意思
  • 用vue element-ui做的网站外贸建站优化
  • 怎样注册网站做销售网络营销做得比较好的企业
  • 自动化科技产品网站建设百度网站如何优化排名
  • 网站建设常用的开发语言介绍商城推广软文范文
  • 真人与狗做网站关键词搜索指数
  • 公司网站创建网站优化最为重要的内容是
  • 广州网站制作系统石家庄百度快照优化排名
  • 网站做一排横图2022近期时事热点素材
  • 国外设计师个人网站百度推广代理怎么加盟
  • 女孩子做网站推广怎么提升关键词的质量度
  • 银川做网站建设seo是什么公司
  • 向自己做网站百度网页打不开
  • 响应式电商网站制作南昌seo搜索优化