Variable-Size Data
Variable-size data is data whose size is not known at compile time or changes at run time. To use variable-size data in your MATLAB® code for which you intend to generate C/C++ code, follow the described guidelines. Certain restrictions apply to the use of variable-size data in MATLAB code that is intended for code generation. These techniques can help you to control dynamic memory allocation and improve performance of the generated code.
Functions
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (Since R2024a) |
coder.varsize | Resolve size mismatch errors and declare upper bounds |
Topics
- Code Generation for Variable-Size Arrays
Variable-size data is data whose size is not known at compile time or whose size can change at run time.
- Define Variable-Size Data for Code Generation
Choose a method for defining variable-size data.
- Control Memory Allocation for Variable-Size Arrays
Control when dynamic memory allocation is used.
- Control Dynamic Memory Allocation for Fixed-Size Arrays
Control when to dynamically allocate memory for fixed-size arrays.
- Generate Code for Variable-Size Data
Generate code for data whose size might change at run time.
- Specify Upper Bounds for Variable-Size Arrays
To avoid dynamic memory allocation, specify upper bounds for a variable-size array.
- Use C Arrays in the Generated Function Interfaces
Understand and use arrays from the generated function interfaces
- Incompatibilities with MATLAB in Variable-Size Support for Code Generation
Sometimes, the results for variable-size data in generated code are different than the results in MATLAB.
- Variable-Sizing Restrictions for Code Generation of Toolbox Functions
Some restrictions for variable-size data apply to multiple toolbox functions.
Troubleshooting
Diagnose and Fix Variable-Size Data Errors
Troubleshoot size mismatch and upper bounds detection errors.
Resolve Issue: coder.varsize Not Supported for Strings
Troubleshoot code generation error when using coder.varisze
with string variables.