[发明专利]基于文件结构设计的链接方法及可读存储介质有效
申请号: | 202110982013.3 | 申请日: | 2021-08-25 |
公开(公告)号: | CN113672984B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 何杰;董逢华;何涛;周杰;肖灵;胡瑞璟 | 申请(专利权)人: | 武汉天喻信息产业股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F9/448;G06F8/41 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430223 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 文件 结构设计 链接 方法 可读 存储 介质 | ||
1.一种基于文件结构设计的链接方法,其特征在于,所述基于文件结构设计的链接方法包括:
将编译器中生成的字节码按文件结构,生成不同模块的目标文件,其中,所述文件结构包括:模块头组件、模块应用组件、模块常量组件、模块文件组件、模块方法组件和模块索引组件;
将所述目标文件通过转换工具,生成安全模块可识别的下载脚本;
当收到下载指令时,将所述下载脚本下载安装到所述安全模块中,其中,在所述下载安装过程中,根据下载脚本中不同模块的文件结构完成不同模块间的方法的链接;
所述在所述下载安装过程中,根据下载脚本中不同模块的文件结构完成不同模块间的方法的链接的步骤包括:
通过引用模块的索引组件找到调用方法相对于引用模块的方法组件基地址的第一地址偏移量,根据第一地址偏移量得到所述调用方法与被引模块的被调用方法的调用关系;
通过引用模块的索引组件找到被引模块在引用模块的常量组件中的索引号后,跳转到引用模块的常量组件对应的被引模块的常量结构体中;
通过所述常量结构体,找到被引模块的标识号和版本号;
通过引用模块的常量组件中的区分标识判断被调用方法是否为系统方法;
若被调用方法为非系统方法,则在被引模块的常量结构体中找到被调用方法相对于被引模块的方法组件基地址的第二地址偏移量;
根据被引模块的标识号和版本号找到被引模块的地址,根据被引模块的地址找到被引模块的方法组件基地址;
根据被引模块的方法组件基地址以及所述第二地址偏移量,找到被调用方法的物理地址;
基于被调用方法的物理地址,完成调用方法与被调用方法的链接;
若被调用方法为系统方法,则根据被引模块的标识号和版本号找到被引模块的地址,根据被引模块的地址找到被引模块的方法组件基地址;
以被引模块的常量结构体中的地址偏移的高字节为文件索引号,从被引模块的文件组件中包含的多个文件中找到被调用方法所在的文件;
以被引模块的常量结构体中所述地址偏移的低字节为方法索引号,从所述被调用方法所在的文件中找到被调用方法的物理地址;
以所述物理地址替换被引模块的常量结构体中的所述地址偏移,完成调用方法与被调用方法的链接;
当存在方法调用请求时,根据请求调用的方法的链接跳转到所述请求调用的方法的物理地址处执行该方法。
2.如权利要求1所述的基于文件结构设计的链接方法,其特征在于,所述模块头组件的结构包括本模块的标识号、版本号信息与本模块文件结构中其他组件的长度描述。
3.如权利要求1所述的基于文件结构设计的链接方法,其特征在于,若所述模块为非应用模块,则所述非应用模块的模块应用组件的长度为0;若所述模块为应用模块,则所述应用模块的模块应用组件的长度不为0,其中,所述应用模块的模块应用组件的结构包括应用的标识号以及应用的入口函数的物理地址索引。
4.如权利要求1所述的基于文件结构设计的链接方法,其特征在于,所述模块常量组件的结构包括外部被引模块的个数,外部被引模块标识号与版本号信息,以及外部被引模块的常量结构体,其中所述外部被引模块的常量结构体包括系统方法与非系统方法的区分标识,所有被调用的方法所在被引模块在所述外部被引模块结构体中的索引号,以及所有被调用的方法的地址偏移。
5.如权利要求1所述的基于文件结构设计的链接方法,其特征在于,若所述模块为非系统模块,则所述非系统模块的模块文件组件的长度为0;若所述模块为系统模块,则所述系统模块的模块应用组件的长度不为0,其中,所述系统模块的模块文件组件结构包括系统模块中文件的总个数、系统文件中每个文件的方法总个数的数组形式以及系统文件中每个文件的方法地址索引号。
6.如权利要求1所述的基于文件结构设计的链接方法,其特征在于,所述模块方法组件包括本模块中所有方法的内部功能的字节码实现,其中,所述字节码实现包括所述所有方法的参数个数、局部变量的总字节数及所述所有方法的可执行代码的字节码集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉天喻信息产业股份有限公司,未经武汉天喻信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110982013.3/1.html,转载请声明来源钻瓜专利网。