[发明专利]一种动态库加载方法、终端装置及存储介质在审
| 申请号: | 201811257308.9 | 申请日: | 2018-10-26 |
| 公开(公告)号: | CN111104178A | 公开(公告)日: | 2020-05-05 |
| 发明(设计)人: | 黄浩 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 武汉河山金堂专利事务所(普通合伙) 42212 | 代理人: | 胡清堂;陈懿 |
| 地址: | 435000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 加载 方法 终端 装置 存储 介质 | ||
1.一种动态库加载方法,其特征在于,包括:
调用CreateFile函数打开动态库文件,并获取所述动态库文件的句柄;
在RAM上申请预设大小的物理内存空间;
根据所述动态库文件的句柄,读取所述动态库文件并存储到所述物理内存空间中;
当所述动态库文件全部存储到所述物理内存空间后,调用LoadLibrary函数加载所述动态库文件。
2.根据权利要求1所述的方法,其特征在于,所述在RAM上申请预设大小的物理内存空间具体为:
设定每次读取动态库文件的数据大小,并调用VirtualAlloc函数申请所述预设大小的物理内存空间,其中,所述数据大小等于所述预设大小的物理内存空间。
3.根据权利要求1所述的方法,其特征在于,所述读取所述动态库文件并存储到所述物理内存空间中具体为:
调用ReadFile函数读取预设大小的所述动态库文件数据,并将所述数据存放到预设的缓冲区变量中,其中,所述缓冲区变量中数据可以自动加载到所述物理内存中。
4.根据权利要求1所述的方法,其特征在于,所述根据所述动态库文件的句柄,通过内存指针读取所述动态库文件并存储到所述物理内存空间中还包括:
调用GetFileSize函数获取动态库文件大小。
5.根据权利要求4所述的方法,其特征在于,所述调用GetFileSize获取动态库文件大小还包括:
累积每次读取所述动态库文件的大小,当累积读取的大小不小于所述动态库文件的大小,则判定读取完毕,否则继续读取剩余的所述动态库文件。
6.一种终端装置,其特征在于,包括:
获取模块:用于调用CreateFile函数打开动态库文件,并获取所述动态库文件的句柄;
申请模块:用于在RAM上申请预设大小的物理内存空间;
存储模块:用于根据所述动态库文件的句柄,读取所述动态库文件并存储到所述物理内存空间中;
加载模块:用于当所述动态库文件全部存储到所述物理内存空间后,调用LoadLibrary加载所述动态库文件。
7.根据权利要求6所述的终端装置,其特征在于,所述申请模块包括:
申请单元:用于设定每次读取动态库文件的数据大小,并调用VirtualAlloc申请所述预设大小的物理内存空间,其中,所述数据大小等于所述预设大小的物理内存空间。
8.根据权利要求6所述的终端装置,其特征在于,所述读取所述动态库文件并存储到所述物理内存空间中具体为:
调用ReadFile函数读取预设大小的所述动态库文件数据,并将所述数据存放到预设的缓冲区变量中,其中,所述缓冲区变量中数据可以自动加载到所述物理内存中。
9.一种终端装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述动态库加载方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述动态库加载方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811257308.9/1.html,转载请声明来源钻瓜专利网。





