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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Perl相关文章