[发明专利]一种静态编译语言与脚本语言的调用方法及系统有效
| 申请号: | 201810072681.0 | 申请日: | 2018-01-25 |
| 公开(公告)号: | CN108345458B | 公开(公告)日: | 2021-04-09 |
| 发明(设计)人: | 郝忠秀;任文越 | 申请(专利权)人: | 微梦创科网络科技(中国)有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
| 代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 任漱晨 |
| 地址: | 100193 北京市海淀区东北旺西路中关村*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 静态 编译 语言 脚本语言 调用 方法 系统 | ||
本发明实施例提供一种静态编译语言与脚本语言的调用方法及系统,所述静态编译语言与脚本语言的调用方法包括:存储由宿主程序端发送的多个待处理函数;接收由脚本语言执行端发送的函数参数;将该函数参数对应的待处理函数发送至所述脚本语言执行端,将所述函数参数发送至所述宿主程序端;接收由宿主程序端压入的运行结果;将运行结果发送至所述脚本语言执行端,使得所述脚本语言执行端根据所述运行结果以及待处理函数执行脚本语言编译。本发明通过虚拟机分别与宿主程序端及脚本语言执行端进行信息交互,使得两种语言间无缝交互,可实现信息的准确调用,降低开发过程中漏洞触发率,提升开发效率。
技术领域
本发明涉及计算机编程语言技术领域,特别是涉及一种静态编译语言与脚本语言的调用方法及系统。
背景技术
现有技术中静态编译语言编写的程序服务在修改变更时,需要重新编译并且重启服务,在这种模式下对于需求变更大、迭代周期长的软件服务可以接受,但是对于快速迭代的应用服务显然更新效率太低,对于静态编译类而言,调试起来成本高。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术静态编译语言和脚本语言交互时是通过虚拟栈交互,但是一般是将栈交互操作和业务逻辑混合在一块使用,从而使得栈变得不可控容易出漏洞bug,并且脚本语言执行端是强类型,会导致编码冗余。
发明内容
本发明实施例提供一种静态编译语言与脚本语言的调用方法及系统,可实现两种语言间无缝交互。
一方面,本发明实施例提供了一种静态编译语言与脚本语言的调用方法,包括:
存储由宿主程序端发送的多个待处理函数;
接收由脚本语言执行端发送的函数参数,所述函数参数对应一个待处理函数,且所述函数参数用于所述脚本语言执行端执行脚本语言编译;
将该函数参数对应的待处理函数发送至所述脚本语言执行端,以实现函数的调用,将所述函数参数发送至所述宿主程序端;
接收由宿主程序端压入的运行结果,所述运行结果由所述宿主程序端根据所述函数参数运行对应的待处理函数得到;
将运行结果发送至所述脚本语言执行端,使得所述脚本语言执行端根据所述运行结果以及待处理函数执行脚本语言编译。
可选的,所述待处理函数包括待处理静态编译语言函数及函数指针;
所述存储由宿主程序端发送的多个待处理函数,具体包括:
将由宿主程序端发送的各待处理函数的函数指针压入虚拟机的虚拟栈中;
调用所述虚拟机中各函数指针对应的脚本语言的应用程序接口;
通过各应用程序接口,将对应的各函数指针分别注册到虚拟机的全局表中;
将各待处理静态编译语言函数绑定到所述虚拟机上。
可选的,所述将各待处理静态编译语言函数绑定到所述虚拟机上,具体包括:
在所述虚拟栈中建立数据使用空间;
创建各待处理静态编译语言函数对应的代理函数,并将各代理函数存储在所述数据使用空间中;
根据各代理函数,将对应的待处理静态编译语言函数绑定到所述虚拟机上。
可选的,所述将该函数参数对应的待处理函数发送至所述脚本语言执行端,具体包括:
根据所述脚本语言执行端发送的函数参数,从所述数据使用空间查找对应的代理函数;
基于查找到的代理函数,确定对应的待处理静态编译语言函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微梦创科网络科技(中国)有限公司,未经微梦创科网络科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810072681.0/2.html,转载请声明来源钻瓜专利网。





