Main Content

Pass reusable subsystem outputs as


Specify how a reusable subsystem passes outputs.

Category: Optimization


Default: Individual arguments

Individual arguments

Passes each reusable subsystem output argument as an address of a local, instead of as a pointer to an area of global memory containing the output arguments. This option reduces global memory usage and eliminates copying local variables back to global block I/O structures. When the signals are allocated as local variables, there may be an increase in stack size. If the stack size increases beyond a level that you want, use the default setting. By default, the maximum number of output arguments passed individually is 12. To increase the number of arguments, increase the value of the Maximum number of arguments for subsystem outputs parameter.

Structure reference

Passes reusable subsystem outputs as a pointer to a structure stored in global memory.


The default option is used for reusable subsystems that have signals with variable dimensions.


This parameter:

  • Requires a Embedded Coder® license.

  • Appears only for ERT-based targets.

Command-Line Information

Parameter: PassReuseOutputArgsAs
Value: 'Structure reference' | 'Individual arguments'
Default: 'Individual arguments'

Recommended Settings

DebuggingNo impact
TraceabilityNo impact
EfficiencyIndividual arguments (execution, RAM),Structure reference (ROM)
Safety precautionNo impact

Related Topics