主要内容

内存使用情况

减少生成的C/ c++代码所使用的RAM、ROM和堆栈空间

确定如何修改你的MATLAB®代码,以便生成的代码使用更少的内存。调用函数时,通过使用相同的输入和输出变量来控制数据的传递方式。通过引用传递可以减少生成代码中使用的内存。通过设置堆栈空间使用限制和指定何时使用动态内存分配来控制如何分配内存。通过禁用生成额外代码的特性(例如支持整数溢出)来最小化代码大小。金宝app

有关如何针对特定条件优化代码的详细信息,请参见优化策略

功能

coder.inline 在所生成的代码中控制特定函数的内联
coder.const 在生成的代码中将表达式折叠为常量
coder.ceval 调用外部C/ c++函数

编码器。常数 用于代码生成的常数值规范
编码器。ExternalDependency 到外部代码的接口

主题

生成的代码优化

优化策略

优化生成代码的执行速度或内存使用。

堆栈分配和性能

当堆栈空间有限时,在堆上分配大变量。

生成代码中的MATLAB编码器优化

为了提高所生成代码的性能,代码生成器使用优化。

条件语句

防止未使用的执行路径生成代码

将控制流变量设为常量,以防止生成未使用的分支的代码。

排除生成代码中未使用的路径

将控制流变量设为常量,以防止为未使用的分支生成代码。

函数调用

在生成的代码中避免函数输入的数据副本

生成通过引用传递输入参数的代码。

控制内联以优化生成代码的性能和可读性

内联消除了函数调用的开销,但会产生更大的C/ c++代码,并降低代码的可读性。

控制堆叠空间使用

指定生成的代码可以使用的最大堆栈空间。

将函数调用折叠为常量

通过在生成的代码中用常量替换表达式来减少执行时间。

数组

设置“内存动态分配阈值”

禁用小于特定大小的数组的动态内存分配。

重用大型数组和结构

指定变量重用以减少内存使用。

稀疏矩阵的代码生成

在MATLAB代码中使用稀疏矩阵用于代码生成。

数值边缘情况

禁用对整数溢出或金宝app非有限的支持

通过抑制生成处理整数溢出或非有限的支持代码来提高性能。金宝app

自定义代码集成

集成外部/自定义代码

通过集成您自己优化的代码来提高性能。

优化快速傅里叶变换函数的生成代码

为您的工作流程和目标硬件选择正确的快速傅里叶变换实现。

通过使用LAPACK调用加速生成的独立代码中的线性代数

为某些线性代数函数生成LAPACK调用。指定要使用的LAPACK库。

通过使用BLAS调用加速生成的独立代码中的矩阵操作

为某些低级矩阵操作生成BLAS调用。指定要使用的BLAS库。

通过使用FFTW库调用加速生成的独立代码中的快速傅里叶变换

生成FFTW库调用快速傅里叶变换。指定FFTW库。