[发明专利]动态加载静态库的模块、固件及设备和C库转Lua库的方法有效

专利信息
申请号: 202210065651.3 申请日: 2022-01-20
公开(公告)号: CN114546515B 公开(公告)日: 2023-09-12
发明(设计)人: 吴永;朱汪斌 申请(专利权)人: 上海合宙通信科技有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F9/448;G06F9/455;G06F8/41;G06F8/36
代理公司: 上海市汇业律师事务所 31325 代理人: 金炜霞
地址: 200011 上海市黄*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 动态 加载 静态 模块 设备 库转 lua 方法
【说明书】:

发明提出了Lua虚拟机更加便捷地加载C库的技术方案,将C库以Lua脚本资源的形式加载到Lua虚拟机中,然后解析并运行。Lua虚拟机只需要将该静态库中的外部函数处理成Lua的function类型传给该Lua脚本即可。该静态库不需要和该Lua脚本进行链接,保证了该静态库可以采用动态链接。同时,因将各个目标文件种的各字段合并到了一起,方便解析,有效地减少了RAM内存空间的消耗。因为能将C库方便地合成Lua组件库,用户可自由下载,方便地发展出具有各种功能的Lua组件库,有利于Lua语言生态的可持续发展,并能够保证接口库的私密性,保护源码。同时,因能共享打包好的接口库,更有利于Lua语言的开发。最后,解决了某些平台因编译器不支持动态库,无法使用动态链接方案问题。

技术领域

本发明涉及专门程序的装载的技术领域,尤其是小型嵌入式系统动态地加载静态库的技术领域。

背景技术

库文件是计算机上的一类文件,提供给使用者一些开箱即用的变量、函数或类。库文件分为静态库和动态库。

静态库的代码,在程序进行编译链接的时候,就被链接到可执行文件当中了。编译链接后生成的可执行程序,在运行的时候将不再需要静态库,没有外部依赖性。而且,静态库在不同的程序之间是不能共享的。因此,使用静态库生成的可执行程序一般比较大。如果有很多不同功能的静态库都需要链接,那最终生成的可执行程序就会非常大。而小型嵌入式设备的空间通常都是非常有限的,难以容纳过于庞大的程序。如果这些功能需要服务不同的产品,那通常只能发布多个软件版本,维护成本较高。

相对于静态库的缺点,就有了动态库。动态库即动态链接库。与静态库不同的是,动态库在编译时并不会被链接到目标程序中,目标程序中只会存储指向动态库的引用。等到程序运行时,动态库才会被真正加载进来。动态库的优点是,不需要链接到目标程序中,而且同一份库可以被多个程序使用(因为这个原因,动态库也被称作共享库),因此目标程序相对来说会比较小。同时,运行时才载入的特性,使得动态库可以随时被替换升级,而不需要重新编译代码,可维护性高,维护成本较低。但是,由于动态库的生成依赖编译器,在编译动态库的时候需要支持-fPIC、-shared等参数,然而大部分小型嵌入式系统的编译器都不支持动态库的生成。

简言之,小型嵌入式系统的可执行文件,一般都使用RTOS(嵌入式实时操作系统),不具备应用动态加载功能。用户如果想要增加功能,需要拿到该固件对应的源码和需要增加的静态库文件,才可以和用户的应用代码一起编译成新的固件。

综上所述,现有技术遇到了以下问题:

1)多数小型嵌入式系统的编译器不支持动态库,因此无法使用动态链接。

2)对小型嵌入式系统而言,使用静态库会导致目标程序体积过大,内存空间占用过多。

3)使用静态库需要发布的软件版本过多,造成维护成本较高。

发明内容

本发明的技术方案解决的问题是:

1)使用不同的功能服务不同的产品,只能发布多个软件版本,维护成本较高。

2)小型嵌入式系统(如通信模组)内存空间有限,在使用会导致目标程序体积过大的静态库时,受到了限制。

3)多数小型嵌入式系统的编译器不支持动态库,因此无法使用动态链接。

第一方面,本发明的实施例提出一种动态加载静态库的模块,该模块包括:

函数地址映射表,用于存储底层接口函数的实际地址;该底层接口函数与函数指针一一对应。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海合宙通信科技有限公司,未经上海合宙通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210065651.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top