У меня есть список двоичных файлов, связывающих некоторые статические библиотеки. Было обнаружено, что куча этих библиотек зависит от круга. Мы не сталкивались с проблемами, потому что мы заключили эти статические библиотеки между -Wl, - start-group и -Wl, - end-groupИдентификация циклической зависимости между статическими библиотеками через скрипт
Поняв, что это плохая практика, я пытаюсь очистить система.
Я придумал сценарий PERL, который говорит мне, как эти библиотеки зависят друг от друга, например, так:
libchld.a зависит от libprnt.a, libgprnt.a
libprnt.a зависит от libncle.a, libgprnt.a
и идет один.
Теперь я должен сортировать эти топологически с каждым узлом, указывающим вверх или вниз. И тогда Если я найду набор циклически зависимых библиотек при сортировке топологически, мне придется заключить только те внутри -start-group и -end-group (чем охватывают всю группу библиотек) там путем очистки вверх по системе.
Есть ли некоторые модули perl, которые уже выполняют этот тип сортировки?
Сортировка :: Топологическая Graph :: Направленный
те, что я пытаюсь проверить. Но, похоже, они не обрабатываются, если график является круговым.
Вам понадобится [сильно подключенные компоненты] (http://search.cpan.org/perldoc/Graph#strongly_connected_components) графа зависимости. –