Составьте таблицу рекурсивных функций
Этот компонент составляет таблицу, содержащую рекурсивные функции в вашем исходном коде (наряду с файлами, содержащими функции).
Для каждой прямой рекурсии (функция, вызывая себя непосредственно), таблица приводит рекурсивную функцию.
Для каждого косвенного цикла рекурсии (функция, вызывая себя через другие функции), таблица приводит одну функцию в цикле.
Например, следующий код содержит два косвенных цикла рекурсии.
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®.