加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 通过脚本识别静态库之间的循环依赖关系

发布时间:2020-12-16 06:13:18 所属栏目:大数据 来源:网络整理
导读:我有一个链接一些静态库的二进制文件列表.已经确定一堆这些库是循环依赖的.我们从未遇到过麻烦,因为我们将这些静态库包含在-Wl,– start-group和-Wl之间,– end-group 我明白这是一个不好的做法,我正在努力清理系统. 我想出了一个perl脚本,告诉我这些库是如
我有一个链接一些静态库的二进制文件列表.已经确定一堆这些库是循环依赖的.我们从未遇到过麻烦,因为我们将这些静态库包含在-Wl,– start-group和-Wl之间,– end-group

我明白这是一个不好的做法,我正在努力清理系统.

我想出了一个perl脚本,告诉我这些库是如何相互依赖的,如下所示:

libchld.a depends on libprnt.a,libgprnt.a

libprnt.a depends on libncle.a,libgprnt.a

并去了一个.

现在,我应该在拓扑上对每个节点进行排序,向上或向下.
然后,如果我在拓扑排序时找到一组循环依赖库,我将只需要通过清理系统将那些包含在–start-group和–end-group(而不是包围整个库)中的那些库中. .

是否有一些perl模块已经进行了这种类型的排序?

Sort::Topological
Graph::Directed

是那些我想检查的人.但是,如果图形是圆形的,它们似乎不会处理.

解决方法

Having understood that this is a bad practice,I’m trying to clean the system.

这是一个不好的做法,因为你没有使用适当的分层,不是因为它对链接器有点不好.

因此,清理链接线而不将库重新排列到没有循环依赖关系的适当层次结构是没有意义的.

如果你重新安排库,那么它们的正确顺序将很容易理解,你不需要使用Perl.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读