Daten variabler Größe
Während der Codegenerierung identifiziert der Codegenerator Arrays, einschließlich Skalare, Vektoren und Matrizen, als Arrays mit fester oder variabler Größe.
Der Codegenerator kennzeichnet ein Array als variable Größe, wenn er die Größe des Arrays nicht bestimmen kann oder wenn sich die Größe des Arrays ändert.
Der Codegenerator kennzeichnet ein Array als feste Größe, wenn er feststellen kann, dass sich die Größe des Arrays nicht ändert.
Wenn Sie verstehen, wie der Codegenerator Arrays mit fester und variabler Größe verarbeitet, können Sie Fehler während der Codegenerierung besser diagnostizieren und beheben. Wenn Ihre Anwendung keine Arrays mit variabler Größe erfordert, können Sie auch die Variablengröße und die dynamische Speicherzuweisung optimieren, um die Leistung des generierten Codes zu verbessern.
Funktionen
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (Seit R2024a) |
coder.varsize | Resolve size incompatibility errors and declare upper bounds |
Themen
- 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.
Fehlersuche
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.