Составьте таблицу рекурсивных функций
Этот компонент создает таблицу, содержащую рекурсивные функции в исходном коде (наряду с файлами, содержащими функции).
Для каждой прямой рекурсии (функция вызывает себя непосредственно) в таблице перечислена рекурсивная функция.
Для каждого цикла косвенной рекурсии (функция, вызывающая себя через другие функции), в таблице перечислена одна функция в цикле.
Например, следующий код содержит два косвенных цикла рекурсии.
volatile int signal; void operation1() { int stop = signal%2; if(!stop) operation1_1(); } void operation1_1() { operation1(); } void operation2() { int stop = signal%2; if(!stop) operation2_1(); } void operation2_1() { operation2(); } void main(){ operation1(); operation2(); }
Два цикла графика вызовов:
operation1
→ operation1_1
→ operation1
operation2
→ operation2_1
→ operation2
Этот компонент отчета показывает одну функцию из каждого из двух циклов: operation1
и operation2
. Чтобы увидеть полный цикл, откройте результаты в Polyspace® пользовательский интерфейс.