可变大小数据
在生成代码中数组大小变化的代码生成
在代码生成期间,代码生成器将数组(包括标量、向量和矩阵)识别为固定大小或可变大小。
如果代码生成器无法确定数组的大小或数组的大小发生变化,则代码生成器将该数组指定为可变大小。
如果代码生成器可以确定数组的大小不变,则代码生成器将该数组指定为固定大小。
了解代码生成器如何处理固定大小和可变大小数组可以帮助您在代码生成期间诊断和修复错误。如果您的应用程序不需要可变大小数组,您还可以微调可变大小和动态内存分配,这可能会提高生成代码的性能。
函数
coder.areUnboundedVariableSizedArraysSupported | 检查当前配置设置是否允许无界可变大小数组 (自 R2024a 起) |
coder.varsize | 解决大小不兼容性错误并声明上界 |
主题
- 可变大小数组的代码生成
可变大小数据是其大小在编译时未知或其大小在运行时可能发生变化的数据。
- 为代码生成定义可变大小数据
选择定义可变大小数据的方法。
- 控件可变大小数组的内存分配
控制何时使用动态内存分配。
- 控制固定大小数组的动态内存分配
控制何时为固定大小数组动态分配内存。
- Specify Upper Bounds for Variable-Size Arrays
To avoid dynamic memory allocation, specify upper bounds for variable-size arrays.
- 在代码生成的可变大小支持方面与 MATLAB 的不兼容性
了解可变大小数据如何导致生成代码的行为与 MATLAB® 不同。
- 在生成的函数接口中使用动态分配的 C 数组
了解并使用生成的 C 函数接口中的动态分配数组。
- Use Dynamically Allocated C++ Arrays in Generated Function Interfaces
Understand and use dynamically allocated arrays from the generated C++ function interfaces.
疑难解答
对代码生成过程中出现的大小不兼容性错误进行故障排除。
在将可变大小数组赋给固定大小数组时对错误进行故障排除。
对将 coder.varsize 与字符串变量结合使用时的代码生成错误进行故障排除。