一种调度方法及装置的制造方法

文档序号:9452858阅读:279来源:国知局
一种调度方法及装置的制造方法
【技术领域】
[0001]本发明涉及到计算机程序编译技术领域,尤其是一种调度方法及装置。
【背景技术】
[0002]随着软件领域的不断更新和飞速发展,跨语言跨平台编程的需求也越来越多,因此促进了许多新技术的诞生,JNA即是其中之一。JNA(Java Native Access)框架是一个开源的java框架,建立在JNI (Java Native Interface)基础之上,提供了 java代码和其他语言(特别是C/C++)之间的交互和调用。其实现方式为,开发者首先使用java接口来描述目标动态库的结构和功能,然后动态链接的共享库与应用程序在运行时被绑定,通过动态链接器,将动态库映射进应用程序的可执行内存中,最后在运行应用程序时,动态装载器将所需的目标动态库映射到应用程序的内存中。
[0003]图3为现有技术的一种实施方式示意图;
[0004]当不使用本发明所示系统时,JNA调用C语言的过程如图3所示,
[0005]步骤S301:编写 JAVA 接口 ;
[0006]步骤S302:编译为中间代码;
[0007]步骤S303:链接动态库文件;
[0008]步骤S304:运行程序。
[0009]开发者首先用java语言描述本地共享库的功能和结构,然后在编译过程中根据符号表中信息链接动态库,最后执行应用程序。
[0010]但是,当本地共享库由C语言编写并且程序链接了多个动态库时,如果在这些动态库中存在同名的函数,那么当程序运行时首先装载的动态库会将函数的信息写入符号表中,由于C语言没有函数重载的功能,接下来运行的动态库中该同名函数会指向符号表中记录的位置,也就是第一个装载的动态库中的函数,从而导致程序错误,严重时导致程序崩溃。

【发明内容】

[0011 ] 为了解决上述问题,本发明提供了
[0012]一种调度方法,所述方法包括:
[0013]将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
[0014]将所述标记信息添加给与所述功能模块对应的函数;
[0015]从函数库中调用所述函数。
[0016]可选地,从函数库中调用所述函数包括:
[0017]根据所述标记信息调用与所述功能模块对应的函数。
[0018]可选地,根据所述标记信息调用与所述功能模块对应的函数,包括:
[0019]将所述函数的函数名和所述标记信息进行匹对,如果完全一致则进行函数调用,否则发出错误信息。
[0020]一种调度装置,包括:所述装置包括:
[0021]分配标记模块,用于将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
[0022]添加标记模块,用于将所述标记信息添加给与所述功能模块对应的函数;
[0023]函数调用模块,用于从函数库中调用所述函数。
[0024]可选地,其中,函数调用模块,用于从函数库中调用所述函数,包括:
[0025]根据所述标记信息调用与所述功能模块对应的函数。
[0026]可选地,所述函数调用模块用于根据所述标记信息调用与所述功能模块对应的函数,包括:将所述函数的函数名和所述标记信息进行匹对,如果完全一致则进行函数调用,否则发出错误信息。
[0027]本发明的技术方案,可以达到将功能模块与被调用函数相互对应的技术效果,简化了开发过程中不同模块的开发者之间的交接流程,缩短了开发周期,降低了软件后期的调试和测试难度,增加了程序的稳定性,具有很高的实用性。
【附图说明】
[0028]图1为本发明的一种调度方法的流程图;
[0029]图2为本发明的一种调度装置的结构图;
[0030]图3为现有技术的一种实施方式示意图;
[0031]图4为本发明的一种实施方式示意图。
【具体实施方式】
[0032]下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
[0033]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0034]一种调度方法,所述方法包括:
[0035]将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
[0036]将所述标记信息添加给与所述功能模块对应的函数;
[0037]从函数库中调用所述函数。
[0038]图1为本发明的一种调度方法的流程图;
[0039]步骤SOl:将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
[0040]步骤S02:将所述标记信息添加给与所述功能模块对应的函数。
[0041]步骤S03:从函数库中调用所述函数。
[0042]本发明的技术方案,可以达到将功能模块与被调用函数相互对应的技术效果,简化了开发过程中不同模块的开发者之间的交接流程,缩短了开发周期,降低了软件后期的调试和测试难度,增加了程序的稳定性,具有很高的实用性。
[0043]可选地,从函数库中调用所述函数,包括:
[0044]根据所述标记信息调用与所述功能模块对应的函数。
[0045]可选地,根据所述标记信息调用与所述功能模块对应的函数,包括:
[0046]将所述函数的函数名和所述标记信息进行匹对,如果完全一致则进行函数调用,否则发出错误信息。
[0047]图2为本发明的一种调度装置的结构图;
[0048]一种调度装置,包括:所述装置包括:
[0049]分配标记模块201,用于将应用程序中划分为不同的功能模块,给每一个功能模块分配唯一的标记信息;
[0050]添加标记模块202,用于将所述标记信息添加给与所述功能模块对应的函数。
[0051]函数调用模块203,用于从函数库中调用所述函数。
[0052]可选地,其中,函数调用模块,用于从函数库中调用所述函数,包括:
[0053]根据所述标记信息调用与所述功能模块对应的函数。
[0054]可选地,所述函数调用模块203用于根据所述标记信息调用与所述功能模块对应的函数,包括:将所述函数的函数名和所述标记信息进行匹对,如果完全一致则进行函数调用,否则发出错误信息。
[0055]本发明在应用程序和动态库之间维护一个第三方系统,该系统包括分配标记、添加标记以及函数调用三个模块组成。分配标记模块将应用程序中的模块按功能划分,并且分配给每一个模块不同的标记以进行区分,该标记可以是模块名称或者模块序号,但必须是唯一确定并且可扩展的;添
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1