Dati di dimensione variabile
Durante la generazione di codice, il generatore di codice identifica gli array, inclusi scalari, vettori e matrici, come di dimensione fissa o variabile.
Il generatore di codice considera un array di dimensione variabile se non è in grado di determinarne la dimensione o se la dimensione dell'array cambia.
Il generatore di codice designa un array come di dimensione fissa se è in grado di determinare che la dimensione dell'array non cambia.
Comprendere come il generatore di codice gestisce gli array di dimensione fissa e variabile può essere utile per diagnosticare e correggere gli errori durante la generazione di codice. Se l'applicazione non richiede array di dimensione variabile, è inoltre possibile sincronizzare con precisione il dimensionamento delle variabili e l'allocazione dinamica della memoria per migliorare potenzialmente le prestazioni del codice generato.
Funzioni
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (Da R2024a) |
coder.varsize | Resolve size incompatibility errors and declare upper bounds |
Argomenti
- Generate Code for Variable-Size Arrays
Learn how the code generator defines and handles fixed- and variable-size data.
- 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.
- Specify Upper Bounds for Variable-Size Arrays
To avoid dynamic memory allocation, specify upper bounds for variable-size arrays.
- Incompatibilities with MATLAB in Variable-Size Support for Code Generation
Understand how the behavior of the generated code can differ from MATLAB® as a result of variable-size data.
- Use Dynamically Allocated C Arrays in the Generated Function Interfaces
Understand and use dynamically allocated arrays from the generated C function interfaces.
- Use Dynamically Allocated C++ Arrays in Generated Function Interfaces
Understand and use dynamically allocated arrays from the generated C++ function interfaces.
Risoluzione dei problemi
Resolve Error: Arrays Have Incompatible Sizes
Troubleshoot size incompatibility errors that occur during code generation.
Resolve Error: Fixed Size on the Left Side but Variable Size on the Right
Troubleshoot errors when assigning variable-size arrays to fixed-size arrays.
Resolve Error: coder.varsize Not Supported for Strings
Troubleshoot code generation error when using coder.varsize
with string variables.