一种动态库布局调整方法以及相关设备技术

技术编号:44474902 阅读:18 留言:0更新日期:2025-03-04 17:44
本申请公开了一种动态库布局调整方法以及相关设备,应用于动态库的小型化处理场景。该方法包括:确定软件包的可执行文件在动态库中使用的第一符号,获取第一符号的引用关系,该引用关系指示了第一符号在动态库中需要一起关联使用的第二符号。基于引用关系配置动态库的布局调整策略,该布局调整策略用于对动态库进行小型化处理,基于该布局调整策略对动态库重新进行链接操作。本申请中,通过第一符号的引用关系可以精确识别可执行文件在运行时所需要的符号,进而可以基于可执行文件不需要的符号对动态库进行小型化处理,避免了动态库中存在冗余符号,可以尽可能的减小软件体积,提升优化收益。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种动态库布局调整方法以及相关设备


技术介绍

1、目前,软件开发广泛采用可执行文件结合动态库的模式进行。而随着软件应用的快速发展,动态库需要支持越来越多的应用,在复杂度和程序大小上迅速膨胀。但是对于某些特定软件包,往往只需要使用动态库提供的一小部分符号接口,而未使用的符号则造成了存储资源的浪费。此种情况下可以对动态库进行小型化处理。

2、当前进行软件小型化的一个技术是对编译链接的过程进行优化。例如在链接阶段通过gc-sections功能删除无用代码。具体的,先将动态库中的全局符号和指定的入口符号等一并作为入口符号,再根据符号间的引用关系,将通过入口符号不能达到的符号视为无用符号,并对无用符号进行删除,从而减小了软件体积,节省了存储资源。

3、通过gc-sections功能进行优化虽然可以实现软件小型化,但是在优化过程中动态库的全局符号都作为入口符号进行了保留,而全局符号中有一些符号仍然是不需要使用的,换言之,动态库中的代码依旧存在冗余的情况,对软件体积的减少有限,软件小型化的收益较低。


<本文档来自技高网...

【技术保护点】

1.一种动态库布局调整方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述布局调整策略为删除所述动态库中除所述第一符号和所述第二符号之外的符号。

3.根据权利要求1所述的方法,其特征在于,所述引用关系还指示了所述第一符号和所述第二符号的调用频次,所述布局调整策略为基于所述调用频次对所述动态库进行拆分。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述布局调整策略对所述动态库重新进行链接操作之前,所述方法还包括:

5.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述布局调整策略对所述动态库重新进...

【技术特征摘要】

1.一种动态库布局调整方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述布局调整策略为删除所述动态库中除所述第一符号和所述第二符号之外的符号。

3.根据权利要求1所述的方法,其特征在于,所述引用关系还指示了所述第一符号和所述第二符号的调用频次,所述布局调整策略为基于所述调用频次对所述动态库进行拆分。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述布局调整策略对所述动态库重新进行链接操作之前,所述方法还包括:

5.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述布局调整策略对所述动态库重新进行链接操作,包括:

6.根据权利要求4所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,所述软件包为根文件系统rootfs镜像软件包、容器镜像软件包以及红帽包管理器rpm软件包。

8.一种动态库布局调整设备,其特征在于,包括:

9.根据权利要求8所述的设备,其特征在于,所述布局调整策略为删除所述动态库中除所述第一符号和所述第二符号之外的符号。

...

【专利技术属性】
技术研发人员:廖华钟钜斌曾维林王芳鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1