【技术实现步骤摘要】
本专利技术属于计算机软件
,尤其涉及一种动态链接方法及系统。
技术介绍
动态链接库(英文:Dynamic Link Library,简称:DLL)是一个包含可由多个程序同时使用的代码和数据的库,DLL不是一个可执行文件。动态链接提供了 一种方法,使进程可以调用不属于其可执行代码的函数,函数的可执行代码位于一个DLL中,该DLL包含一个或多个已经被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。但是动态链接依赖于系统的支持,在Linux系统下通过动态链接的函数就可以完成动态链接库的链接,而一些系统不支持动态链接。
技术实现思路
本专利技术实施例的目的在于提供一种动态链接方法及系统,以解决现有技术存在的,一些系统不支持动态链接,应用无法调用动态链接库的问题。本专利技术的实施例是这样实现的,一种动态链接方法,所述方法包括以下步骤:读取可执行连接格式ELF的库,所述可执行连接格式ELF的库包括:库函数的跳转地址和库函数的代码段;复制库函数的跳转地址至应用的跳转表预留空间,复制库函数的代码段至应用的应用部分预留空间,所述库函数的代码段在库中和应 ...
【技术保护点】
一种动态链接方法,其特征在于,所述方法包括:读取可执行连接格式ELF的库,所述可执行连接格式ELF的库包括:库函数的跳转地址和库函数的代码段;复制库函数的跳转地址至应用的跳转表预留空间,复制库函数的代码段至应用的应用部分预留空间,所述库函数的代码段在库中和应用中的地址一致;应用调用库函数时,在应用的跳转表中查询库函数的跳转地址,根据所述库函数的跳转地址,跳转到库函数的代码段执行;库函数调用应用时,在应用的跳转表中查询应用对应的函数地址,根据所述应用对应的函数地址,跳转到应用的代码段执行。
【技术特征摘要】
1.一种动态链接方法,其特征在于,所述方法包括: 读取可执行连接格式ELF的库,所述可执行连接格式ELF的库包括:库函数的跳转地址和库函数的代码段; 复制库函数的跳转地址至应用的跳转表预留空间,复制库函数的代码段至应用的应用部分预留空间,所述库函数的代码段在库中和应用中的地址一致; 应用调用库函数时,在应用的跳转表中查询库函数的跳转地址,根据所述库函数的跳转地址,跳转到库函数的代码段执行; 库函数调用应用时,在应用 的跳转表中查询应用对应的函数地址,根据所述应用对应的函数地址,跳转到应用的代码段执行。2.如权利要求1所述的方法,其特征在于,所述读取可执行连接格式ELF的库之前包括: 编译链接动态链接库DLL和手工创建的跳转表构成ELF的库。3.一种动态链接系统,其...
【专利技术属性】
技术研发人员:刘高科,
申请(专利权)人:深圳市九洲电器有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。