Есть ли в Emacs особенность для иерархии вызовов функций - PullRequest
8 голосов
/ 06 сентября 2010

Я поддерживаю чужой код.Код написан на C с использованием GCC 4.4.3 на платформе Linux.Тем не менее, код много скачет, и трудно определить, откуда вызываются все функции.

В Visual Studio есть функция под названием «Иерархия вызовов», которая отображает, откуда вызываются функциипризвал к.Есть ли в Emacs (23.1.1) такая функция?

Ответы [ 2 ]

7 голосов
/ 06 сентября 2010

Классический способ перехода на вызовы в Emacs - использовать файл TAGS и команду M -. .Я рекомендую использовать Exuberant C Tags со следующей командой в корневом каталоге вашего проекта:

ctags -e --c-kinds=+pxd -R .

Затем, используя visit-tags-table, вы можете открыть файл TAGS.С M -. вы можете перейти к каждому определению или вызвать ваше ключевое слово.Используйте Cu M -. , чтобы перейти к другому вхождению.Используйте Cx z z z ..., чтобы повторить поиск.

Если у вас много проектов, выможно создать файл TAGS для каждого из них, а затем вызвать файл visit-tags-file, чтобы добавить файл TAGS в список файлов TAGS для поиска.

Другой классический способ (способ un * x),использовать команду Mx find-grep для поиска вхождений вашего ключевого слова.

5 голосов
/ 06 сентября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...