[发明专利]一种类型转化方法、装置、设备及存储介质在审
申请号: | 202210405946.0 | 申请日: | 2022-04-18 |
公开(公告)号: | CN114756240A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 武鑫;张树威 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 王雪 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 类型 转化 方法 装置 设备 存储 介质 | ||
1.一种类型转化方法,其特征在于,所述方法包括:
确定待转化变量和目标转化变量;其中,所述待转化变量和所述目标转化变量均属于结构体类型;
确定所述待转化变量和所述目标转化变量的内存布局是否一致;
如果确定所述待转化变量和所述目标转化变量的内存布局一致,则构建目标转化函数;其中,所述目标转化函数用于将所述待转化变量的内存地址赋给所述目标转化变量。
2.根据权利要求1所述的方法,其特征在于,所述目标转化函数的入参类型为所述待转化变量的类型,所述目标转化函数的出参类型为所述目标转化变量的类型。
3.根据权利要求1所述的方法,其特征在于,所述构建目标转化函数之后,还包括:
当检测到第一代码块中存在所述待转化变量时,将所述待转化变量输入至所述目标转化函数,由所述目标转化函数将所述第一代码块中的所述待转化变量转化为所述目标转化变量;其中,所述第一代码块中的所述目标转化变量的内存地址指向所述待转化变量的内存地址。
4.根据权利要求1所述的方法,其特征在于,所述确定所述待转化变量和所述目标转化变量的内存布局是否一致,包括:
确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的字段类型以及各字段类型之间的顺序是否相同。
5.根据权利要求4所述的方法,其特征在于,所述确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的字段类型以及各字段类型之间的顺序是否相同,包括:
确定所述待转化变量的数据结构中的第一字段;其中,所述第一字段属于所述待转化变量的数据结构中的任意一个字段;
确定所述目标转化变量的数据结构中与所述第一字段处于对应位置的第二字段;
确定所述第一字段与所述第二字段的字段类型是否相同。
6.根据权利要求5所述的方法,其特征在于,所述确定待转化变量和目标转化变量之后,还包括:
将所述待转化变量和所述目标转化变量分别对应的类型存储于预设类型列表中;
相应的,所述确定所述第一字段与所述第二字段的字段类型是否相同之后,还包括:
如果确定所述第一字段与所述第二字段的字段类型不相同,则确定所述第一字段与所述第二字段的字段类型是否存在于所述预设类型列表;
如果确定所述第一字段与所述第二字段的字段类型未存在于所述预设类型列表中,则确定所述第一字段与所述第二字段的字段类型不相同。
7.根据权利要求4-6中的任一项所述的方法,其特征在于,所述确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的字段类型以及各字段类型之间的顺序是否相同之前,还包括:
确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的数量是否相同;
相应的,所述确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的字段类型以及各字段类型之间的顺序是否相同,包括:
如果确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的数量相同,则确定所述待转化变量和所述目标转化变量的数据结构中分别包括的字段的字段类型以及各字段类型之间的顺序是否相同。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果确定所述待转化变量和所述目标转化变量的内存布局不一致,则进程退出并报错。
9.一种类型转化装置,其特征在于,所述装置包括:
第一确定模块,用于确定待转化变量和目标转化变量;其中,所述待转化变量和所述目标转化变量均属于结构体类型;
第二确定模块,用于确定所述待转化变量和所述目标转化变量的内存布局是否一致;
构建模块,用于如果确定所述待转化变量和所述目标转化变量的内存布局一致,则构建目标转化函数;其中,所述目标转化函数用于将所述待转化变量的内存地址赋给所述目标转化变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210405946.0/1.html,转载请声明来源钻瓜专利网。