[发明专利]函数动态调用方法和装置有效

专利信息
申请号: 201610875839.9 申请日: 2016-09-30
公开(公告)号: CN108304191B 公开(公告)日: 2021-06-01
发明(设计)人: 朱琛 申请(专利权)人: 龙芯中科技术股份有限公司
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 北京同立钧成知识产权代理有限公司 11205 代理人: 杨文娟;刘芳
地址: 100095 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 函数 动态 调用 方法 装置
【权利要求书】:

1.一种函数动态调用方法,其特征在于,包括:

在执行编译完成的汇编语言时,获取打包消息;所述打包消息中包括执行函数,所述执行函数中包括至少一个参数;

根据函数调用约定应用程序二进制接口ABI方式,将所述至少一个参数进行存储;

确定所述执行函数当前的执行位置处的地址;

调用并执行与所述执行函数对应的被调用函数,确定所述被调用函数的返回值;

根据所述执行位置处的地址返回至所述执行函数的执行位置处以继续执行所述执行函数的执行位置后的程序,并保存所述返回值。

2.根据权利要求1所述的方法,其特征在于,所述根据函数调用约定ABI方式,将所述至少一个参数进行存储,包括:

若所述执行函数中的参数个数N小于等于M,则将N个参数存放入第一寄存器中;

若所述执行函数中的参数个数N大于M,则将N个参数中的M个参数,存放入第一寄存器中,将N-M个参数依次存放入第一栈中;

其中,N、M为正整数。

3.根据权利要求1所述的方法,其特征在于,所述调用并执行与所述执行函数对应的被调用函数,包括:

根据所述执行函数的中的调用参数,确定与所述调用参数对应的所述被调用函数;

获取所述被调用函数的地址,并根据所述被调用函数的地址确定所述被调用函数的位置;

调用与并执行所述被调用函数。

4.根据权利要求1-3任一项所述的方法,其特征在于,所述保存所述返回值,包括:

确定所述返回值的字节个数;

若所述返回值的字节个数小于等于预设字节个数,则将所述返回值保存至第二寄存器中;

若所述返回值的字节个数大于预设字节个数,则将所述返回值保存至第二栈中,并将所述第二栈的地址保存至所述第二寄存器中。

5.一种函数动态调用装置,其特征在于,包括:

获取模块,用于在执行编译完成的汇编语言时,获取打包消息;所述打包消息中包括执行函数,所述执行函数中包括至少一个参数;

存储模块,用于根据函数调用约定应用ABI方式,将所述至少一个参数进行存储;

确定模块,用于确定所述执行函数当前的执行位置处的地址;

调用模块,用于调用并执行与所述执行函数对应的被调用函数,确定所述被调用函数的返回值;

返回模块,用于根据所述执行位置处的地址返回至所述执行函数的执行位置处以继续执行所述执行函数的执行位置后的程序,并保存所述返回值。

6.根据权利要求5所述的装置,其特征在于,所述存储模块,包括:

第一存放子模块,用于若所述执行函数中的参数个数N小于等于M,则将N个参数存放入第一寄存器中;

第二存放子模块,用于若所述执行函数中的参数个数N大于M,则将N个参数中的M个参数,存放入第一寄存器中,将N-M个参数依次存放入第一栈中,其中,N、M为正整数。

7.根据权利要求5所述的装置,其特征在于,所述调用模块,具体用于:

根据所述执行函数的中的调用参数,确定与所述调用参数对应的所述被调用函数;

获取所述被调用函数的地址,并根据所述被调用函数的地址确定所述被调用函数的位置;

调用与并执行所述被调用函数,确定所述被调用函数的返回值。

8.根据权利要求5-7任一项所述的装置,其特征在于,所述返回模块,包括:

返回子模块,用于根据所述执行位置处的地址返回至所述执行函数的执行位置处;

确定子模块,用于确定所述返回值的字节个数;

第一保存模块,用于若所述返回值的字节个数小于等于预设字节个数,则将所述返回值保存至第二寄存器中;

第二保存模块,用于若所述返回值的字节个数大于预设字节个数,则将所述返回值保存至第二栈中,并将所述第二栈的地址保存至所述第二寄存器中。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610875839.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

400-8765-105周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top