У меня есть большой код, написанный на C, но я сам его не написал. Я хочу создать обзор структуры вызова в коде для ссылки. То есть: я хочу знать, какие (нестандартные) функции вызываются различными функциями в коде, и тем самым создают иерархию или дерево различных функций. Существуют ли какие-либо бесплатные Unix-совместимые программы (это означает отсутствие Visual Studio, но плагин Vim или такой был бы аккуратным), который может это сделать, или мне нужно написать что-то, что может сделать это самостоятельно?Установить дерево вызовов для кода C
ответ
Для обзора доступных инструментов см http://en.wikipedia.org/wiki/Call_graph
Существует Vim плагин C Зов-Tree Исследование называется CCTree http://www.vim.org/scripts/script.php?script_id=2368
Очень красивый список. Мне также нравится плагин CCTree для Vim. Вы знаете, как свернуть список? – user787267
Как вы упомянули плагин Vim, проверить http://sites.google.com/site/vimcctree/. Он использует CScope для генерации дерева, поэтому вам нужно будет сначала генерировать db CScope исходных файлов.
Посмотрите на http://www.gson.org/egypt/ Это использует GCC для обработки кода и извлекает взаимозависимости в программе из AST, который он испускает.
gprof сделаю это. Он также генерирует профиль выполнения, но при этом создает дерево вызовов.
Doxygen делает это тоже, его нужно включить, хотя.
try doxygen ... – Anycorn