【技术实现步骤摘要】
一种程序数据生成方法及装置
[0001]本申请涉及程序数据生成的
,尤其涉及一种程序数据生成方法及装置。
技术介绍
[0002]WebAssembly(简称wasm)技术是一个虚拟指令集体系架构,其初始目标是为C/C++等语言编写的程序经过编译,在确保安全和接近原生应用的运行速度更好地在Web(World Wide Web,全球广域网)平台上运行。如果将wasm技术应用到资源受限设备,需要限定支持wasm指令集范围和支持程序数据空间、访问范围,设计一种简单且可以有效表达wasm编译二进制文件的程序数据格式,从而达到在现有资源受限设备条件下利用wasm技术更高效运行程序。
技术实现思路
[0003]本申请提供一种程序数据生成方法及装置,可以对所述二进制文件中的数据进行调整,以得到部分目标段数据;然后,根据转换配置信息和所述部分目标段数据信息生成目标应用段、目标导出段和目标配置段数据,对所述部分目标段数据、所述目标应用段、所述目标导出段和所述目标配置段数据进行组合,生成目标设备可识别且可加载的目标程序数据, ...
【技术保护点】
【技术特征摘要】
1.一种程序数据生成方法,其特征在于,包括:对wasm编译的二进制文件进行程序数据特性检测,得到检测结果;若所述检测结果为超出目标格式文件的所述程序数据特性,则报错;若所述检测结果为未超过所述目标格式文件的所述程序数据特性,则对所述二进制文件中的数据进行调整,以得到部分目标段数据;根据转换配置信息和所述部分目标段数据信息生成目标应用段、目标导出段和目标配置段数据,对所述部分目标段数据、所述目标应用段、所述目标导出段和所述目标配置段数据进行组合,生成目标设备可识别且可加载的目标程序数据。2.如权利要求1所述的程序数据生成方法,其特征在于,在所述对wasm编译的二进制文件进行程序数据特性检测,得到检测结果步骤后,所述程序数据生成方法包括:若所述检测结果为符合所述程序数据特性,则根据所述二进制文件生成目标设备可识别且可加载的所述目标程序数据。3.如权利要求1或2所述的程序数据生成方法,其特征在于,在得到所述部分目标段数据后,所述程序数据生成方法包括:根据转换配置信息生成目标应用段数据;根据转换配置信息生成包含导出函数信息的目标导出段数据;在所述部分目标段数据、所述目标应用段数据、所述目标导出段数据中提取目标段数据长度、个数配置或类型配置信息,并结合转换配置信息,生成包含目标段数据长度、配置信息和模块标识信息的目标配置段数据。4.如权利要求1所述的程序数据生成方法,其特征在于,所述对wasm编译的二进制文件进行程序数据特性检测,得到检测结果前,所述程序数据生成方法包括:确定所述二进制文件中的段数据;给每个所述段数据的数据设置限制条件;所述限制条件为所述二进制文件的所述程序数据特性。5.如权利要求4所述的程序数据生成方法,其特征在于,所述限制条件所限制的程序数据有变量数据类型、字节码类型、函数个数、引用模块个数、参数及临时变量个数;所述程序数据特性包括预设变量数据类型、预设字节码类型、预设函数个数、预设引用模块个数、预设参数及预设临时变量个数。6.如权利要求5所述的程序数据生成方法,其特征在于,所述对所述二进制文件中的数据进行调整的方法有重组、更改、以及删除;所述对所述二进制文件中的数据进行调整,以得到部分目标段数据,包括:所述二进制文件类型段、函数段中函数签名信息和代码段函数字节码头信息中临时变量类型、个数信息整合为目标代码段函数字节码头信息;所述二进制文件导入段中外部模块名称信息改为外部模块的版本和标识信息,相同外部模块版本和标识信息保留一个,得到目标导入段数据,记录目标导入段引用外部模...
【专利技术属性】
技术研发人员:刘静亚,路倩,张章,邹重人,
申请(专利权)人:紫光同芯微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。