exponenta event banner

Рекурсивные функции

Создание таблицы рекурсивных функций

Описание

Этот компонент создает таблицу, содержащую рекурсивные функции в исходном коде (вместе с файлами, содержащими функции).

  • Для каждой прямой рекурсии (функция, вызывающая себя напрямую) в таблице указана рекурсивная функция.

  • Для каждого непрямого цикла рекурсии (функция, вызывающая себя через другие функции) в таблице указана одна функция в цикле.

Например, следующий код содержит два непрямых цикла рекурсии.

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();
}

Два цикла графика вызовов:

  • operation1operation1_1operation1

  • operation2operation2_1operation2

Этот компонент отчета показывает одну функцию из каждого из двух циклов: operation1 и operation2. Для просмотра полного цикла откройте результаты в интерфейсе пользователя Polyspace ®.