Да, играйте с figuresize
, как это (прежде чем вы назовете ваш подзаговор):
fig=plt.figure(figsize=(18, 16), dpi= 80, facecolor='w', edgecolor='k')
Если у Вас будет доступ к GCC/G ++, то -M
опция произведет список зависимости. Это не делает ни одного дополнительного материала, который другие инструменты делают, но так как это прибывает из компилятора, нет никакого шанса, что это поднимет файлы с "неправильного" места.
Благодаря KeithB. Я искал документы для cl.exe (VS2008) и нашел флаг/showIncludes. От IDE это может быть установлено от страницы свойств любого файла CPP.
Для тяжелого решения для веса необходимо проверить doxygen. Это сканирует через Вашу кодовую базу и придумывает веб-сайт, эффективно, это документирует Ваш код. Одна из многих вещей, которые это показывает, включают деревья.
, Если Вы надеялись быть в состоянии включить вывод этого инструмента в некоторый другой процесс, тогда это не может работать на Вас (хотя doxygen действительно производит к другим форматам, я не настоящий знакомый с той функцией). Если Вы просто хотите к глазному яблоку зависимости, тем не менее, оно должно работать отлично.
Я играл вокруг с инструментом, названным cinclude2dot. Было довольно полезно в получении дескриптора на довольно большой кодовой базе, когда я приехал для работы здесь. Я на самом деле думал об интеграции его в нашу ежедневную сборку в конечном счете.
Хорошие новости: Исходный Навигатор Redhat (работает на Windows также). Конечно, переключатели компилятора (упомянул ранее) имеют превосходящий парсинг, и я не уверен, как это обработает MFC, QT и их волшебные ключевые слова.
Можно также проверить makedepend:
Понимают для C++ , должен быть в состоянии помочь Вам: это создает базу данных, к которой можно получить доступ от Perl.
cscope ( http://cscope.sourceforge.net/ ) делает это в автономном xterm, и также может использоваться в Вашем любимом редакторе - он имеет большой emacs и поддержку vi/vim.
Основываясь на ответе KeithB , вот синтаксис GNUmake для автоматического 1) создания файлов зависимостей, 2) поддержания их в актуальном состоянии и 3) использования их в вашем make-файле. :
.dep:
mkdir $@
.dep/%.dep: %.c .dep
(echo $@ \\; $(CC) $(IFLAGS) -MM $<) > $@ || (rm $@; false)
.dep/%.dep: %.cpp .dep
(echo $@ \\; $(CXX) $(IFLAGS) -MM $<) > $@ || (rm $@; false)
DEPEND := $(patsubst %.dep,.dep/%.dep,$(OBJ:.o=.dep))
-include $(DEPEND)
(Не забудьте заменить эти отступы на жесткие вкладки.)
Во-первых, cinclude2dot.pl - это Perl-скрипт, который анализирует код C / C ++ и создает график зависимостей #include в виде точечного файла для ввод в graphviz.
http://www.flourish.org/cinclude2dot/
Если вы не хотите идти по пути такого рода ручных инструментов, то, на мой взгляд, лучший инструмент, несомненно, лучше всех. как "IncludeManager" от ProFactor.
http://www.profactor.co.uk/includemanager.php
Есть бесплатная пробная версия, и это потрясающе. Это полностью интегрированный плагин для Visual Studio, поэтому двойной щелчок по чему-то здесь приведет вас к тому месту, где это есть.
Всплывающие подсказки дают вам всю необходимую информацию, и они позволяют вам переходить вниз / вверх, удалять целые поддеревья, которые вам не нужны, просматривать представления, отличные от графиков, циклически перемещаться по списку совпадений для того или иного, это замечательно.
Если вы поспешите, вы можете реорганизовать структуру #include больших проектов до того, как закончится пробная версия. Тем не менее, это не стоит много, около 35 долларов за лицензию.
Что касается того, что он делает, он почти идеален. Не только графики #include, но и межпроектные зависимости общих файлов, влияние на время сборки, подробные свойства в сетках, идеально.