Построение графа вызовов функций по исходному коду?

Сам я почти не программист, поэтому прошу прощение, если вопрос покажется странным, но возникла следущая потребность:

Есть программа (ну как программа — быдлокод для встраиваемой системы) написаный на Си, практически без использования стандартных вызовов, один поток, несколько обработчиков прерываний. Объем небольшой — порядка 3-5 тысяч строк, лежащих в нескольких файлах. Хочется автоматически построить структуру программы в графическом виде — какие функции в каких файлах лежат, что откуда вызывается и прочее. Только на основе статического анализа, т.е. отслеживать процесс реального выполнения программы потребности нет.

Есть ли какое-нибудь готовое средство? Желательно, чтобы все это сохранялось в редактируемом формате типа vsd/odg/svg, либо был встроенный графический редактор, чтобы поправить «шероховатости» автоматической рисовалки.
  • Вопрос задан
  • 7887 просмотров
Пригласить эксперта
Ответы на вопрос 3
abyrvalg
@abyrvalg
Скорее всего, вам понравится GraphViz.
Вот вроде более-менее готовый кейс по визуализации кода с помощью него: www.ibm.com/developerworks/library/l-graphvis/
Ответ написан
@rustler2000
погромист сикраш
doxygen же чудеса творит
Ответ написан
Так же вам поможет cflow, которая замечательно выдаёт графы вызовов функций. Её вывод можно и использованием cflow2vcg перевести .dot-формат, и GraphViz-ом отрендерить векторную графику. Это наиболее простой и оптимальный путь, мы так делали в курсовых по сетям. Красиво получалось :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы