[发明专利]功能函数的加载方法、装置、可读存储介质及电子设备有效
| 申请号: | 202010003063.8 | 申请日: | 2020-01-02 |
| 公开(公告)号: | CN111209056B | 公开(公告)日: | 2021-02-19 |
| 发明(设计)人: | 张聪;颜合;陆需飞 | 申请(专利权)人: | 北京东土科技股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京华夏正合知识产权代理事务所(普通合伙) 11017 | 代理人: | 韩登营 |
| 地址: | 100144 北京市石景*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 功能 函数 加载 方法 装置 可读 存储 介质 电子设备 | ||
本发明提供了一种功能函数的加载方法,包括程序模块,其包括:至少一子模块和至少一功能函数;所述加载方法包括:所述程序模块通过对外接口收到宿主程序的指令时,加载一子模块;所述宿主程序的指令是宿主程序要加载至少一功能函数时或一子模块发出;由该子模块创建一模块对象,将所要加载的功能函数,或所要加载的子模块对应的各功能函数注册到该模块对象中提供给宿主程序。还相应的提供了功能函数的加载装置、可读存储介质及电子设备。使用本发明,可以在功能函数的动态加载时降低对操作系统的依赖。
技术领域
本发明涉及一种功能函数的加载方法、装置、可读存储介质及电子设备。
背景技术
函数库由可被重复使用的各功能函数(简称函数)构成,每个函数由自定义的变量与执行函数构成,通过链接一函数以执行该函数代码以完成该函数提供的功能。函数库可以分为静态链接库(SLL,Static Link Library)和动态链接库(DLL,Dynamic LinkLibrary)。
静态链接库通常在应用程序编译时期完成调用函数链接,使所链接的库函数代码集成到编译生成的应用程序的可执行文件(如exe文件)中。这使得当有多个应用程序都使用一相同的库函数时,内存中就会存在这个库函数代码的多个拷贝,会占用较多的内存资源。
而动态链接库的库函数代码并没有被拷贝到应用程序的可执行文件中去,仅当应用程序被装入内存运行时,在操作系统(如Microsoft Windows)的管理下,通过调用操作系统的动态连接器去加载DLL,以加载相应库函数(库函数的可执行代码位于一DLL文件中),执行该DLL中库函数的功能,包括重定位。可见,相对于动态链接库来说,当有多个应用程序都使用一相同的库函数时,内存中只存在一个库函数代码,会节省较多的内存资源,因此目前多采用基于动态链接库的方式来实现对库函数的调用。例如,对于不同的软件去访问硬件时,各个软件执行时通过加载该硬件的驱动DLL来实现,而并不需要每个程序中预先写入该硬件的驱动代码。
由上,操作系统可以通过其动态链接器对驱动DLL的调用,来实现对硬件的对于驱动的调用
但目前,基于动态链接库的方式由于需要在操作系统的管理下(通过操作系统的动态连接器)去加载DLL,使得其对操作系统的依赖性比较强,需操作系统提供动态连接器。由于其加载依赖于OS动态链接器,因此功能函数代码的可移植性被限制。
如何能够提供一种降低对操作系统依赖的功能函数的动态加载方法,是有待解决的技术问题。
发明内容
有鉴于此,本发明的主要目的在于提供了一种功能函数的加载方法、装置、可读存储介质及电子设备,以在对功能函数动态加载时降低对操作系统的依赖。
本发明提供的一种功能函数的加载方法,包括程序模块,其包括:至少一子模块和至少一功能函数;所述加载方法包括:
所述程序模块通过对外接口收到宿主程序的指令时,加载一子模块;所述宿主程序的指令是宿主程序要加载至少一功能函数时发出;
由该子模块创建一模块对象,将所要加载的功能函数注册到该模块对象中提供给宿主程序。
由上,通过上述步骤,实现了宿主程序对所需功能函数的动态加载。并且,由于功能函数是在程序模块内被加载到子模块的模块对象后(这个加载过程由程序模块完成,与操作系统动态链接器无关)提供给宿主程序,该所需功能函数的加载过程不依赖与操作系统平台,相对于背景技术降低了对操作系统动态链接器的依赖,因此与操作系统的耦合性更松散,进而减少了操作系统平台代码的依赖,增强了程序模块的代码可移植性,从而更易实现接口的ABI技术。并且,由于各功能函数的注册相对在程序模块内部完成,因此,即使出现其他程序模块中的功能函数名称定义相同,宿主程序在调用过程中也不会出现调用出错问题。
本发明提供的另一种功能函数的加载方法,包括程序模块,其包括:至少一子模块和至少一功能函数;所述加载方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东土科技股份有限公司,未经北京东土科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010003063.8/2.html,转载请声明来源钻瓜专利网。





