[发明专利]一种静态编译语言与脚本语言的调用方法及系统有效
| 申请号: | 201810072681.0 | 申请日: | 2018-01-25 |
| 公开(公告)号: | CN108345458B | 公开(公告)日: | 2021-04-09 |
| 发明(设计)人: | 郝忠秀;任文越 | 申请(专利权)人: | 微梦创科网络科技(中国)有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
| 代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 任漱晨 |
| 地址: | 100193 北京市海淀区东北旺西路中关村*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 静态 编译 语言 脚本语言 调用 方法 系统 | ||
1.一种静态编译语言与脚本语言的调用方法,其特征在于,包括:
存储由宿主程序端发送的多个待处理函数;
接收由脚本语言执行端发送的函数参数,所述函数参数对应一个待处理函数,且所述函数参数用于所述脚本语言执行端执行脚本语言编译;
将该函数参数对应的待处理函数发送至所述脚本语言执行端,以实现函数的调用,将所述函数参数发送至所述宿主程序端;
接收由宿主程序端压入的运行结果,所述运行结果由所述宿主程序端根据所述函数参数运行对应的待处理函数得到;
将运行结果发送至所述脚本语言执行端,使得所述脚本语言执行端根据所述运行结果以及待处理函数执行脚本语言编译。
2.根据权利要求1所述的静态编译语言与脚本语言的调用方法,其特征在于,所述待处理函数包括待处理静态编译语言函数及函数指针;
所述存储由宿主程序端发送的多个待处理函数,具体包括:
将由宿主程序端发送的各待处理函数的函数指针压入虚拟机的虚拟栈中;
调用所述虚拟机中各函数指针对应的脚本语言的应用程序接口;
通过各应用程序接口,将对应的各函数指针分别注册到虚拟机的全局表中;
将各待处理静态编译语言函数绑定到所述虚拟机上。
3.根据权利要求2所述的静态编译语言与脚本语言的调用方法,其特征在于,所述将各待处理静态编译语言函数绑定到所述虚拟机上,具体包括:
在所述虚拟栈中建立数据使用空间;
创建各待处理静态编译语言函数对应的代理函数,并将各代理函数存储在所述数据使用空间中;
根据各代理函数,将对应的待处理静态编译语言函数绑定到所述虚拟机上。
4.根据权利要求3所述的静态编译语言与脚本语言的调用方法,其特征在于,所述将该函数参数对应的待处理函数发送至所述脚本语言执行端,具体包括:
根据所述脚本语言执行端发送的函数参数,从所述数据使用空间查找对应的代理函数;
基于查找到的代理函数,确定对应的待处理静态编译语言函数;
基于静态编译语言支持的闭包以及确定的待处理静态编译语言函数,从所述全局表中获取对应的函数指针;
将确定的待处理静态编译语言函数及获取的函数指针发送至所述脚本语言执行端。
5.一种静态编译语言与脚本语言的调用系统,其特征在于,包括:
宿主程序端,用于向虚拟机发送多个待处理函数,以及根据接收到的函数参数运行对应的待处理函数得到运行结果,并将得到的运行结果压入所述虚拟机;
脚本语言执行端,用于向虚拟机发送函数参数,以及接收所述虚拟机发送的该函数参数对应的待处理函数以及运行结果,根据所述运行结果以及待处理函数执行脚本语言编译;
虚拟机,用于存储由所述宿主程序端发送的多个待处理函数,接收由脚本语言执行端发送的函数参数,并向所述宿主程序端发送该函数参数,接收由所述宿主程序端压入的运行结果,将该函数参数对应的待处理函数以及运行结果发送至所述脚本语言执行端。
6.根据权利要求5所述的静态编译语言与脚本语言的调用系统,其特征在于,所述待处理函数包括待处理静态编译语言函数及函数指针;
所述虚拟机包括存储单元,用于存储由所述宿主程序端发送的多个待处理函数;其中,
所述存储单元包括:
压入模块,用于将由所述宿主程序端发送的各待处理函数的函数指针压入虚拟机的虚拟栈中;
调用模块,用于调用所述虚拟机中各函数指针对应的脚本语言的应用程序接口;
注册模块,用于通过各应用程序接口,将对应的各函数指针分别注册到虚拟机的全局表中;
绑定模块,用于将各待处理静态编译语言函数绑定到所述虚拟机上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微梦创科网络科技(中国)有限公司,未经微梦创科网络科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810072681.0/1.html,转载请声明来源钻瓜专利网。





