[发明专利]传参方法、装置、计算机设备及存储介质在审
申请号: | 202110232129.5 | 申请日: | 2021-03-02 |
公开(公告)号: | CN112882695A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 杨秋华 | 申请(专利权)人: | 百果园技术(新加坡)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/20 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 邢少真 |
地址: | 巴西班让路枫树*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法 装置 计算机 设备 存储 介质 | ||
本申请实施例公开了一种传参方法、装置、计算机设备及存储介质,属于编程技术领域。该方法包括:响应于第一函数生成待传递参数,通过第一函数将待传递参数写入第一栈帧,第一栈帧为第一函数对应的栈帧;通过第一函数调用第i函数,其中,第一函数调用第i函数时经过i‑1层调用,i为大于等于2的整数;通过第i函数从第一栈帧中读取待传递参数。本申请实施例中,利用栈帧实现传参,函数中无需设置预留参数,避免函数由不同开发者编写时,因未在函数中设置预留参数导致传参失败的问题,提高了传参的成功率,并有助于简化函数代码,降低运行过程中的内存开销。
技术领域
本申请实施例涉及编程技术领域,特别涉及一种传参方法、装置、计算机设备及存储介质。
背景技术
传参是一种通过调用在函数之间实现参数传递的过程。
为了保证正常传参,进行传参的函数中需要设置预留参数。比如,当A函数需要通过B函数,将生成的参数a传递给C函数时,B函数和C函数中均需要设置预留参数用于传递参数a。
然而,由于不同函数可能由不同开发者编写,因此无法保证函数中均设置预留参数,且在函数中设置预留参数会造成代码臃肿,增加运行过程中的内存开销。
发明内容
本申请实施例提供了一种传参方法、装置、计算机设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种传参方法,所述方法包括:
响应于第一函数生成待传递参数,通过所述第一函数将所述待传递参数写入第一栈帧,所述第一栈帧为所述第一函数对应的栈帧;
通过所述第一函数调用第i函数,其中,所述第一函数调用所述第i函数时经过i-1层调用,i为大于等于2的整数;
通过所述第i函数从所述第一栈帧中读取所述待传递参数。
另一方面,本申请实施例提供了一种传参装置,所述装置包括:
参数写入模块,用于响应于第一函数生成待传递参数,通过所述第一函数将所述待传递参数写入第一栈帧,所述第一栈帧为所述第一函数对应的栈帧;
调用模块,用于通过所述第一函数调用第i函数,其中,所述第一函数调用所述第i函数时经过i-1层调用,i为大于等于2的整数;
参数读取模块,用于通过所述第i函数从所述第一栈帧中读取所述待传递参数。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的传参方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的传参方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的传参方法。
本申请实施例中,当第一函数生成需要传递至第i函数的待传递参数后,通过将待传递参数写入第一函数对应的第一栈帧,使得第一函数逐层调用第i函数后,第i函数能够从第一栈帧中读取该待传递参数,实现第一函数与第i函数之间的传参;利用栈帧实现传参,函数中无需设置预留参数,避免函数由不同开发者编写时,因未在函数中设置预留参数导致传参失败的问题,提高了传参的成功率,并有助于简化函数代码,降低运行过程中的内存开销。
附图说明
图1是采用设置预留参数方式实现函数间传参的实施示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百果园技术(新加坡)有限公司,未经百果园技术(新加坡)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110232129.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现量子逻辑门的方法及装置
- 下一篇:灯具安装结构和组合灯具