System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多个第三方程序库构建方法、第三方程序库函数互调方法技术_技高网

多个第三方程序库构建方法、第三方程序库函数互调方法技术

技术编号:44735663 阅读:1 留言:0更新日期:2025-03-21 18:01
本发明专利技术为一种软件平台用第三方程序库函数互调方法及互调系统,其中软件平台用第三方程序库函数互调方法包括:构建多个第三方程序库;检验第三方程序库的合法性;以及多个第三方程序库进行互相调用,实现了通过软件平台实现一个通用的调用框架,使得第三方程序库在软件平台中注册的函数可以在所有加载的第三方程序库之间共享,在当前第三方程序库需要调用其他第三方程序库时,无需加载其他第三方程序库,只要使用软件平台分享给当前第三方程序库的包含其他第三方程序库的函数表,即可实现对其他第三方程序库的访问,当其他第三方程序库没有加载时,软件平台和当前第三方程序库都能得知这一情况,这使得当前第三方程序库能顺利加载并提供部分功能。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种软件平台用第三方程序库函数互调方法及互调系统。


技术介绍

1、基于windows的软件平台通过导入第三方程序库的方式进行功能扩展。在软件平台所导入的第三方程序库中存在一个第三方程序库调用其他第三方程序库的情况。传统的做法是修改其当前第三方程序库,通过隐式或显式加其他第三方程序库的方法实现对其他第三方程序库的调用。

2、现有的技术方案带来的问题是,通过修改当前第三方程序库的方法来支持其他第三方程序库的调用,需要额外增加当前第三方程序库的工作量,随着其他第三方程序库的更改,当前第三方程序库也得同步更改;同时若当前第三方程序库是通过显式加载其他第三方程序库的方法调用其他第三方程序库时,若其他第三方程序库不存在则当前第三方程序库也无法加载。

3、因此,基于上述技术问题需要设计一种新的软件平台用第三方程序库函数互调方法及互调系统。


技术实现思路

1、本专利技术的目的是提供一种软件平台用第三方程序库函数互调方法及互调系统。

2、为了解决上述技术问题,本专利技术提供了一种软件平台用第三方程序库函数互调方法,包括:

3、构建多个第三方程序库;

4、检验第三方程序库的合法性;以及

5、多个第三方程序库进行互相调用。

6、进一步,所述构建多个第三方程序库的方法包括:

7、通过软件平台构建各第三方程序库,即通过软件平台构建各第三方程序库中的初始化子模块、能力获取子模块和内部子模块,以及在第三方程序库中构建释放子模块;

8、所述释放子模块适于在第三方程序库被卸载时自动释放其申请的资源。

9、进一步,所述通过软件平台构建初始化子模块的方法包括:

10、通过软件平台内的软件平台头文件和软件平台api列表生成初始化子模块,以在初始化子模块调用完成后,第三方程序库获取软件平台提供的api列表中每个api的地址信息。

11、进一步,所述通过软件平台构建能力获取子模块的方法包括:

12、软件平台加载软件平台版本号、对应的用户逻辑回调子模块的列表和相应第三方程序库依赖外部子模块列表生成能力获取子模块,在外部程序调用能力获取子模块时获取该第三方程序库对应的软件平台的版本信息、用户逻辑回调子模块的列表信息、此第三方程序库依赖外部子模块信息和此第三方程序库所有的内部子模块信息。

13、进一步,所述通过软件平台构建内部子模块的方法包括:

14、根据软件平台的用户功能逻辑子模块生成内部子模块。

15、进一步,所述检验第三方程序库的合法性的方法包括:

16、将第三方程序库加载至软件平台,软件平台调用第三方程序库的初始化子模块,以及软件平台调用第三方程序库的能力获取子模块,获取第三方程序库对应的软件平台的版本号、用户逻辑回调子模块的列表、第三方程序库所有的内部子模块的地址信息和函数参数信息,以及该第三方程序库所依赖的外部子模块信息;

17、软件平台向第三方程序库提供其所依赖的子模块指针;

18、若第三方程序库所依赖的外部子模块不存在,则软件平台向该第三方程序库提供空指针;

19、在第三方程序库在调用过程中,根据是否是空指针判断是否存在该第三方程序库所依赖的其他第三方程序库;

20、若为空指针则该第三方程序库所依赖的其他第三方程序库的内部子模块不生效,但该第三方程序库中的其他内部子模块的功能依然生效;

21、软件平台将获取的三方程序库对应的软件平台的版本号与自身的版本号进行对比,若第三方程序库的版本号大于自身版本号则停止调用该第三方程序库,否则继续调用第三方程序库。

22、进一步,所述多个第三方程序库进行互相调用的方法包括:

23、在软件平台继续调用第三方程序库后,软件平台适于根据第三方程序库中获取的用户逻辑回调子模块的列表和内部子模块的列表来调用第三方程序库;

24、若当前第三方程序库在运行的过程中需要调用其他第三方程序库的内部子模块,则通过软件平台在能力获取子模块中传递给当前第三方程序库的所依赖的子模块指针,使当前第三方程序库调用其他第三方程序库中的内部子模块;

25、在调用完成后软件平台通过调用第三方程序库中的释放子模块对所申请的资源进行释放。

26、第二方面,本专利技术还提供一种上述软件平台用第三方程序库函数互调方法用软件平台,包括:

27、软件平台头文件、软件平台api列表、软件平台版本号、用户逻辑回调子模块的列表、第三方程序库依赖的外部子模块列表、用户功能逻辑子模块和c++编译器。

28、第三方面,本专利技术还提供一种上述软件平台用第三方程序库函数互调方法用第三方程序库,包括:

29、初始化子模块、能力获取子模块、内部子模块和释放子模块。

30、第四方面,本专利技术还提供一种采用上述的软件平台用第三方程序库函数互调方法的互调系统,包括:

31、构建模块,构建多个第三方程序库;

32、检验模块,检验第三方程序库的合法性;以及

33、调用模块,多个第三方程序库进行互相调用。

34、本专利技术的有益效果是,本专利技术通过构建多个第三方程序库;检验第三方程序库的合法性;以及多个第三方程序库进行互相调用,实现了通过软件平台实现一个通用的调用框架,使得第三方程序库在软件平台中注册的函数可以在所有加载的第三方程序库之间共享,这样在当前第三方程序库需要调用其他第三方程序库时,无需加载其他第三方程序库,只要使用软件平台分享给当前第三方程序库的包含其他第三方程序库的函数表,即可实现对其他第三方程序库的访问,当其他第三方程序库没有加载时,软件平台和当前第三方程序库都能得知这一情况,这使得当前第三方程序库能顺利加载并提供部分功能。

35、本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

36、为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

本文档来自技高网...

【技术保护点】

1.一种多个第三方程序库的构建方法,其特征在于,包括:用于软件平台用第三方程序库函数互调方法,其包括:

2.根据权利要求1所述的构建方法,其特征在于,

3.一种软件平台用第三方程序库函数互调方法,其特征在于,包括:

4.根据权利要求3所述的第三方程序库函数互调方法,其特征在于,

5.根据权利要求4所述的第三方程序库函数互调方法,其特征在于,

6.一种检验第三方程序库的合法性的方法,其特征在于,包括:

7.一种计算机可读存储介质,其特征在于,存储有如权利要求1或2所述的多个第三方程序库的构建方法,或如权利要求3-5任一项所述第三方程序库函数互调方法,或如权利要求6所述的检验第三方程序库的合法性的方法对应的计算机指令。

8.一种计算机程序产品,包括计算机程序或指令,其中在计算机上执行所述计算机程序或指令时,使得计算机能够执行如权利要求1或2所述的多个第三方程序库的构建方法,或如权利要求3-5任一项所述第三方程序库函数互调方法,或如权利要求6所述的检验第三方程序库的合法性的方法。

9.一种计算机,执行如权利要求1或2所述的第三方程序库的构建方法,或如权利要求3-5任一项所述第三方程序库函数拆解调用方法,或如权利要求6所述的检验第三方程序库的合法性的方法对应的计算机指令。

10.一种调用装置,其特征在于,包括:

...

【技术特征摘要】

1.一种多个第三方程序库的构建方法,其特征在于,包括:用于软件平台用第三方程序库函数互调方法,其包括:

2.根据权利要求1所述的构建方法,其特征在于,

3.一种软件平台用第三方程序库函数互调方法,其特征在于,包括:

4.根据权利要求3所述的第三方程序库函数互调方法,其特征在于,

5.根据权利要求4所述的第三方程序库函数互调方法,其特征在于,

6.一种检验第三方程序库的合法性的方法,其特征在于,包括:

7.一种计算机可读存储介质,其特征在于,存储有如权利要求1或2所述的多个第三方程序库的构建方法,或如权利要求3-5任一项所述第三方程序库函...

【专利技术属性】
技术研发人员:刘矗莫莽谢乐寅
申请(专利权)人:上海同星智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1