[发明专利]一种调度方法及装置有效
申请号: | 201510587648.8 | 申请日: | 2015-09-15 |
公开(公告)号: | CN105204855B | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 解鲲 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调度 方法 装置 | ||
一种调度方法,所述方法包括:将应用程序划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;将所述标记信息添加给与所述功能模块对应的函数,从函数库中调用所述函数。本发明的技术方案,可以达到将功能模块与被调用函数相互对应的技术效果,简化了开发过程中不同模块的开发者之间的交接流程,缩短了开发周期,降低了软件后期的调试和测试难度,增加了程序的稳定性,具有很高的实用性。
技术领域
本发明涉及到计算机程序编译技术领域,尤其是一种调度方法及装置。
背景技术
随着软件领域的不断更新和飞速发展,跨语言跨平台编程的需求也越来越多,因此促进了许多新技术的诞生,JNA即是其中之一。JNA(Java Native Access)框架是一个开源的java框架,建立在JNI(Java Native Interface)基础之上,提供了java代码和其他语言(特别是C/C++)之间的交互和调用。其实现方式为,开发者首先使用java接口来描述目标动态库的结构和功能,然后动态链接的共享库与应用程序在运行时被绑定,通过动态链接器,将动态库映射进应用程序的可执行内存中,最后在运行应用程序时,动态装载器将所需的目标动态库映射到应用程序的内存中。
图3为现有技术的一种实施方式示意图;
当不使用本发明所示系统时,JNA调用C语言的过程如图3所示,
步骤S301:编写JAVA接口;
步骤S302:编译为中间代码;
步骤S303:链接动态库文件;
步骤S304:运行程序。
开发者首先用java语言描述本地共享库的功能和结构,然后在编译过程中根据符号表中信息链接动态库,最后执行应用程序。
但是,当本地共享库由C语言编写并且程序链接了多个动态库时,如果在这些动态库中存在同名的函数,那么当程序运行时首先装载的动态库会将函数的信息写入符号表中,由于C语言没有函数重载的功能,接下来运行的动态库中该同名函数会指向符号表中记录的位置,也就是第一个装载的动态库中的函数,从而导致程序错误,严重时导致程序崩溃。
发明内容
为了解决上述问题,本发明提供了
一种调度方法,所述方法包括:
将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
将所述标记信息添加给与所述功能模块对应的函数;
从函数库中调用所述函数。
可选地,从函数库中调用所述函数包括:
根据所述标记信息调用与所述功能模块对应的函数。
可选地,根据所述标记信息调用与所述功能模块对应的函数,包括:
将所述函数的函数名和所述标记信息进行匹对,如果完全一致则进行函数调用,否则发出错误信息。
一种调度装置,包括:所述装置包括:
分配标记模块,用于将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
添加标记模块,用于将所述标记信息添加给与所述功能模块对应的函数;
函数调用模块,用于从函数库中调用所述函数。
可选地,其中,函数调用模块,用于从函数库中调用所述函数,包括:
根据所述标记信息调用与所述功能模块对应的函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510587648.8/2.html,转载请声明来源钻瓜专利网。