(Визуальный) анализ зависимости от проекта C++

В первую очередь, IQueryable расширяется эти IEnumerable интерфейс, таким образом, что-либо, что можно сделать с "плоскостью" IEnumerable, можно также сделать с IQueryable.

IEnumerable просто имеет GetEnumerator() метод, который возвращается Enumerator, для которого можно назвать MoveNext() метод для итерации через последовательность [1 116] T.

, Что IQueryable имеет, это IEnumerable не делает , два свойства в particular— тот, который указывает на поставщик запроса (например, LINQ поставщику SQL) и другой указывающий выражение запроса, представляющее эти IQueryable объект как абстрактное синтаксическое дерево во время выполнения проходимое, которое может быть понято под данным поставщиком запроса (по большей части, Вы не можете дать LINQ SQL-выражению к LINQ поставщику Объектов без выданного исключения).

выражение может просто быть константным выражением самого объекта или более сложного дерева составленного набора операторов запроса и операндов. Поставщик запроса IQueryProvider.Execute() или IQueryProvider.CreateQuery() методы называют с , Выражение передало ему, и затем или результат запроса или другой IQueryable возвращаются, соответственно.

11
задан polyglot 16 July 2009 в 13:59
поделиться

6 ответов

11
ответ дан 3 December 2019 в 04:53
поделиться

IncludeFinder is a free tool I have used before successfully.

2
ответ дан 3 December 2019 в 04:53
поделиться

Этот инструмент отлично подходит для анализа дерева включения: IncludeManager . Вы сможете получить много полезной информации из этого инструмента.

3
ответ дан 3 December 2019 в 04:53
поделиться

Я должен начать работать с крупномасштабным проектом на C ++, который требует управления зависимостями, поэтому, естественно, я искал некоторые инструменты. Я был удивлен, увидев, что CppDepend был отмечен как фаворит здесь, поскольку одна лицензия стоит 300 евро, а IncludeManager - 20 фунтов стерлингов .. И выполняет ту же работу. На всякий случай, если кто-то здесь использовал один или оба инструмента, есть ли «веская» причина, по которой я должен потратить дополнительные 280 фунтов стерлингов (1–1 евро) на CppDepend?

* Обратите внимание, что я хотел бы иметь свою личную копию, поэтому не имеет значения, есть она у компании или нет.

1
ответ дан 3 December 2019 в 04:53
поделиться

http: //github.com/yuzhichang/cppdep может быть тем, что вам нужно. Я написал его для анализа зависимостей между компонентами / пакетами / группами пакетов большого проекта C / C ++. Это переписанный файл dep_utils (adep / cdep / ldep), предоставленный Джоном Лакосом. книга «Крупномасштабное проектирование программного обеспечения на C ++».

4
ответ дан 3 December 2019 в 04:53
поделиться

Возможно, вы сможете использовать DoxyS в качестве помощи, который создает графы, представляющие включенные файлы, как часть создаваемой документации.

См: http://www.doxys.org

-Martin

2
ответ дан 3 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: