У меня есть несколько крупных проектов, над которыми я работаю в своем новом месте работы, которые имеют сложный набор статически связанных между собой зависимостей между библиотеками.
Число libs около 40-50, и действительно сложно определить, из чего первоначально была предназначена структура, на полной карте зависимостей нет четкой документации.
Какие инструменты кто-нибудь захочет извлечь такие данные?
Предположительно, самым простым способом, если бы сделали следующее:
-
определить набор путей, соответствующих библиотечным единицам
-
установить все файлы .cpp/.h внутри тех, которые принадлежат к этим единицам компиляции.
-
захватить дерево зависимостей 1-го порядка #include
У одного будет достаточно информации для составления карты-рефактора - и перекомпонуйте карту, пока не будет создан какой-то порядок.
Я отмечаю, что http://www.ndepend.com имеют что-то приятное, но, к сожалению,.NET.
Я прочитал кое-что о том, что Doxygen может выполнить некоторый статический анализ зависимостей с конфигурацией; кто-нибудь когда-либо прижимал его к службе для выполнения такой задачи?