LINUX.ORG.RU

Навигация по коду на C


1

3

Это развитие прошлой темы про ctags и проч.
Конечно, одной возможности поиска объявлений функций не достаточно для удобной навигации по незнакомому исходнику. Очень сподручно было бы иметь возможность искать места, в которых происходит присваивание (и любое другое изменение значения) и чтение конкретной переменной (Х).

Также было бы удобно иметь возможность получать ответы на такие вопросы:

1) в каких файлах и (!) функциях используется конкретная переменная Х;

2) используется ли Х в ф-циях, являющихся вызываемыми по отношению к данной (с любой степенью вложенности, т.е., если Х используется в ф-ции Fx, и Fx также вызывает мн-во фций G = {G1, G2, ... GN} необходимо выяснить, используется ли X в каждой Gi и в каждой ф-ции, вызываемой Gi и так далее вглубь дерева вызовов).

Существуют ли такие инструменты?

★★★★★

Посмотрите в сторону cscope.

andreyu ★★★★★
()
Ответ на: комментарий от Vernat

По-моему, вполне актуальный функционал для IDE.

seiken ★★★★★
() автор топика

В CDT есть 1, но нет 2.

Пиши свой анализатор :) Недавно видел в сети gcc-плагин для анализа кода - в gcc встраивается интерпретатор Python, и ему передается внутренне представление программы. Еще есть pycparser.

tailgunner ★★★★★
()

посмотрите http://sourcenav.berlios.de/ он конечно немолод и как редактор он г-но, но навигация по коду - одна из лучших.

MKuznetsov ★★★★★
()
Ответ на: комментарий от tailgunner

> В CDT есть 1, но нет 2.

Для 2. неплохо работает Call Hierarchy, можно прям для переменной вызывать и смотреть в каких функциях переменная используется, и дальше всю иерархию вызовов таких функций. В этом дереве вызовов искать свою исходную функцию. Если бы еще фильтр для этого дерева был в Call Hierarchy View, то совсем удобно было бы.

kamre ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.