【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种动态库布局调整方法以及相关设备。
技术介绍
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所述的设备,其特征在于,所述布局调整策略为删除所述动态库中除所述第一符号和所述第二符号之外的符号。
...
【专利技术属性】
技术研发人员:廖华,钟钜斌,曾维林,王芳鹏,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。