Подтвердить что ты не робот

Как я могу легко увидеть граф C/С++ #include?

Я ищу инструмент (желательно, плагин Visual Studio), который отобразит все файлы, включенные в данный файл, и покажет все файлы, включенные этими файлами, и т.д.

4b9b3361

Ответ 1

Doxygen с помощью Graphviz, может это сделать. Сначала вам нужно отредактировать файл конфигурации. Это будет нелегко в первый раз, когда вы это сделаете, но после этого не требуется много редактирования.

Ответ 2

Сначала cinclude2dot.pl является perl script, который анализирует код C/С++ и создает граф зависимости #include в виде точечного файла для ввода в graphviz.

http://www.flourish.org/cinclude2dot/

Если вы не хотите идти по пути такого ручного инструмента, то, безусловно, победителем станет инструмент, известный как "IncludeManager" из ProFactor.

http://www.profactor.co.uk/includemanager.php

Там бесплатная пробная версия, и это потрясающе. Это плагин для Visual Studio, который полностью интегрирован, поэтому двойной щелчок по чему-то здесь приведет вас туда, где он включен.

Подсказки подсказки подсказки дают вам всю информацию, которую вы хотите, и она позволяет вам развернуть/вверх, удалить целые поддеревья, которые вам не нужны, просматривать представления, отличные от графиков, циклически перебирать список совпадений для этого и того, это замечательно.

Если вы быстро это сделаете, вы можете реорганизовать структуру #include больших проектов до завершения пробной версии. Тем не менее, это не очень дорого, около 35 долларов США за лицензию.

Что он делает, он почти идеален. Не только #include графы, но и кросс-зависимости проектов для общих файлов, влияние на время сборки, подробные свойства в сетках, совершенные.

Ответ 3

Не совсем то, что вы хотите, но компилятор Visual Studio (cl.exe) имеет параметр /showIncludes, который покажет вам дерево включений при компиляции файла.

Если вам нужна эта информация для одного файла, вы можете щелкнуть правой кнопкой мыши по файлу в обозревателе решений, выбрать "Свойства", а в разделе "Командная строка" просто добавить /showIncludes в "Дополнительные параметры". (Примечание. Я использую VС++ 2005, поэтому для более новых версий он может отличаться).

Результат, который вы получаете, немного... запутанный, но он показывает вам, что входит в комплект и в каком порядке.

Кстати, та же самая особенность в GCC и компиляторе Intel С++ (мои версии как минимум) -H.

Ответ 4

Если вы используете Visual Studio 2010, вы можете использовать новый Feature Feature Feature из Microsoft, который имеет функцию генерации включить график. Это доступно только через индекс MSDN.

Ответ 5

Вы можете попробовать метод, предложенный в этом ответе:

Существует установка C/С++ → Advanced project "show Includes". Что будет генерировать дерево. Он сопоставляется с коммутатором компилятора /showIncludes

Ответ 6

Не в ваших предпочтениях, но doxygen делает это достаточно хорошо.

Ответ 7

http://www.codeproject.com/KB/applications/includefinder.aspx

Это не плагин VS, но может быть стартером для вашего собственного инструмента. Насколько я мог видеть, он читает только проекты VC6, новые VS имеют формат XML, который легко анализировать. Что вам нужно, это путь по умолчанию, включающий пути, чтобы инструмент мог находить включенные файлы. В качестве альтернативы вы можете предоставить для него окно настроек в графическом интерфейсе как пользовательский ввод.