В этом примере показано, как переупорядочить заменимые операнды, чтобы сделать выражения леворекурсивными. Оставленный - рекурсивное переупорядочение сохраняет стековое пространство в памяти. Эта оптимизация повышает эффективность кода.
Чтобы переупорядочить заменимые операнды, создайте эту модель и назовите ее operand_order. Выходной сигнал является результатом умножения сигнала от блока Inport In1 суммой сигналов от Inport блокирует In2 и In3.

Откройте диалоговое окно Model Configuration Parameters. На вкладке Code Style выберите параметр Preserve operand order in expression.
Сгенерируйте код для модели.
В operand_order.c файл, operand_order_step функция содержит этот код:
operand_order_Y.Out1 = operand_order_U.In1 * (operand_order_U.In2 +
operand_order_U.In3);
Генератор кода сохраняет заданный порядок выражения в модели, которая увеличивает удобочитаемость кода для трассируемости кода.
Откройте диалоговое окно Model Configuration Parameters. На вкладке Code Style очистите параметр Preserve operand order in expression.
Сгенерируйте код для модели.
В operand_order.c файл, operand_order_step функция содержит этот код:
operand_order_Y.Out1 = (operand_order_U.In2 + operand_order_U.In3) *
operand_order_U.In1;
Генератор кода оптимизирует код путем переупорядочения заменимых операндов, чтобы сделать выражение леворекурсивным, которые повышают эффективность кода.