[发明专利]动态替换主程序中C/C++函数的方法及装置有效
申请号: | 201210047538.9 | 申请日: | 2012-02-27 |
公开(公告)号: | CN103294457B | 公开(公告)日: | 2017-02-01 |
发明(设计)人: | 禤彪 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种动态替换主程序中C/C++函数的方法及装置。该方法包括启动主程序,并加载用于查询和修改内存的替换程序模块;初始化加载的替换程序模块以使替换程序模块先于主程序中的主函数执行,并将主程序中函数的符号表信息保存到内存中;在替换程序模块接收到替换指令之后,替换程序模块根据被替换函数对应的符号表信息确定被替换函数在内存中的映像地址;根据映像地址对被替换函数进行替换。本发明能够实现程序运行时动态地替换和还原函数,程序无需再编译,省时高效,并且避免在替换函数内部间接调用被替换函数出现的死循环现象。 | ||
搜索关键词: | 动态 替换 主程序 c++ 函数 方法 装置 | ||
【主权项】:
一种动态替换主程序中C/C++函数的方法,其特征在于,包括以下步骤:启动主程序,并加载用于查询和修改内存的替换程序模块;对加载的所述替换程序模块进行初始化以使所述替换程序模块先于所述主程序中的主函数执行,并将所述主程序中函数的符号表信息保存到内存中;在所述替换程序模块接收到替换指令之后,所述替换程序模块根据被替换函数对应的符号表信息确定所述被替换函数在所述内存中的映像地址;以及确定所述被替换函数的类型,根据所述映像地址对所述被替换函数进行替换。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210047538.9/,转载请声明来源钻瓜专利网。