Какие инструменты с открытым исходным кодом могут помочь мне понять большое унаследованное приложение, написанное на C? - PullRequest
5 голосов
/ 20 октября 2011

Мне нужен инструмент, который я могу использовать, чтобы лучше понять большой C проект. Я хотел бы иметь возможность увидеть отношения между различными модули и что вызывает, какие функции чаще всего используются, какие заголовки используются и т. д.

Я искал здесь и в Google, но все инструменты анализа исходного кода, кажется, дают Вы количество строк кода и других метрик, которые меня не интересуют. Я просто хотите получить представление о том, как все структурировано и взаимосвязано, прежде чем переходить к коду.

Существует ли что-нибудь подобное?

Я смотрел на них, но они, кажется, не выполняют то, что я хочу: Инструменты исходного кода

После публикации я попробовал Doxygen, и он, похоже, дает мне то, что мне нужно. Есть другие?

Ответы [ 3 ]

0 голосов
/ 20 октября 2011

Source Navigator может быть полезен для некоторых вещей (я использовал его, чтобы увидеть деревья вызовов). Смотрите скриншоты .

cxref создает аннотированную перекрестную ссылку на исходный код, которую легко просматривать и перемещать (я использовал для создания HTML-ссылки часть своего кода). Смотрите вывод cxref по его собственному исходному коду здесь . Может использоваться для документирования кода.

0 голосов
/ 20 октября 2011

Это не OSS, но инструмент CppDepend , безусловно, может помочь, когда дело доходит до понимания большого унаследованного приложения, написанного на C или C ++.

0 голосов
/ 20 октября 2011

Попробуйте GNU cflow , который проанализирует дерево вызовов функций - вы увидите иерархию вызовов функций.Или просмотрите код с помощью Eclipse.

...