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