[发明专利]一种调用成员变量的方法和装置有效
申请号: | 201210468095.0 | 申请日: | 2012-11-19 |
公开(公告)号: | CN103823663B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 牛东升 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 罗振安 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调用 成员 变量 方法 装置 | ||
1.一种调用成员变量的方法,其特征在于,所述方法包括:
对动态链接库包括的成员变量进行分析,获取所述成员变量在其所在类对象中的偏移量;
将所述成员变量的标识和所述成员变量在其所在类对象中的偏移量存储在成员变量的标识和偏移量的对应关系中;
当调用待调用的成员变量时,根据所述成员变量的标识和偏移量的对应关系,从所述动态链接库中调用所述待调用的成员变量;
其中,所述对动态链接库包括的成员变量进行分析,获取所述成员变量在其所在类对象中的偏移量,包括:
为动态链接库包括的成员变量分别设置对应的唯一一个魔数,将所述动态链接库包括的成员变量替换为其对应的魔数;
将所述动态链接库包括的成员变量的标识和所述成员变量对应的魔数存储在成员变量的标识和魔数的对应关系中;
根据所述成员变量的标识和魔数的对应关系,获取所述动态链接库包括的成员变量在其所在类对象中的偏移量。
2.根据权利要求1所述的方法,其特征在于,所述为动态链接库包括的成员变量分别设置对应的唯一一个魔数,将所述动态链接库包括的成员变量替换为其对应的魔数,包括:
从动态链接库包括的第一个成员变量进行扫描;
设置所述扫描的成员变量对应的唯一一个魔数;
在所述动态链接库中将所述成员变量替换为所述成员变量对应的魔数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述成员变量的标识和魔数的对应关系,获取所述动态链接库包括的成员变量在其所在类对象中的偏移量,包括:
从所述成员变量的标识和魔数的对应关系中,获取所述动态链接库包括的成员变量对应的魔数;
设置指针指向所述成员变量所在类对象包括的第一个魔数,设置指针移动次数的初值;
比较所述指针指向的魔数与所述成员变量对应的魔数,如果两者相同,则设置所述成员变量的偏移量为所述指针移动次数,如果两者不同,则设置指针指向下一个魔数,增加所述指针移动次数。
4.根据权利要求1所述的方法,其特征在于,所述当调用待调用的成员变量时,根据所述成员变量的标识和偏移量的对应关系,从所述动态链接库中调用所述待调用的成员变量,包括:
当调用待调用的成员变量时,根据所述待调用的成员变量的标识,从所述成员变量的标识和偏移量的对应关系中获取所述待调用的成员变量在其所在类对象中的偏移量;
获取所述待调用的成员变量所在类对象的首地址;
根据所述待调用的成员变量在其所在类对象中的偏移量和所述待调用的成员变量所在类对象的首地址,从所述动态链接库中调用所述待调用的成员变量。
5.一种调用成员变量的装置,其特征在于,所述装置包括:
获取模块,用于对动态链接库包括的成员变量进行分析,获取所述成员变量在其所在类对象中的偏移量;
存储模块,用于将所述成员变量的标识和所述获取模块获取的所述成员变量在其所在类对象中的偏移量存储在成员变量的标识和偏移量的对应关系中;
调用模块,用于当调用待调用的成员变量时,根据所述存储模块存储的所述成员变量的标识和偏移量的对应关系,从所述动态链接库中调用所述待调用的成员变量;
其中,所述获取模块包括:
替换单元,用于为动态链接库包括的成员变量分别设置对应的唯一一个魔数,将所述动态链接库包括的成员变量替换为其对应的魔数;
存储单元,用于将所述动态链接库包括的成员变量的标识和所述成员变量对应的魔数存储在成员变量的标识和魔数的对应关系中;
第一获取单元,用于根据所述存储单元存储的所述成员变量的标识和魔数的对应关系,获取所述动态链接库包括的成员变量在其所在类对象中的偏移量。
6.根据权利要求5所述的装置,其特征在于,所述替换单元包括:
扫描子单元,用于从动态链接库包括的第一个成员变量进行扫描;
第一设置子单元,用于设置所述扫描的成员变量对应的唯一一个魔数;
替换子单元,用于在所述动态链接库中将所述成员变量替换为所述成员变量对应的魔数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210468095.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:中效复合空气过滤袋
- 下一篇:一种带云存储的移动电源