主要内容

函数定义

定义和调用函数的代码生成

有特殊考虑当您创建MATLAB®用于代码生成功能。当你使用这些包括某些限制变长度输入宗量varargout匿名函数,递归函数和嵌套函数。为MATLAB递归函数生成代码,代码生成器使用编译时递归或运行时递归。产生有效的C / c++代码,代码生成器有时创建多个版本的一个函数,称为功能专门化。在某些情况下,您可以防止代码生成器创建专门化使用函数coder.ignoreConstcoder.ignoreSize。生成一个墨西哥人的函数时,您可以绕过代码生成特定的函数,在MATLAB代码和使用MATLAB引擎来执行调用。要做到这一点,使用coder.extrinsic构造。

功能

coder.extrinsic 声明一个函数作为外在和执行MATLAB
coder.ignoreConst 防止使用常数的表达式值函数的专门化
coder.ignoreSize 防止代码生成器创建功能专门化的大小不变表情
coder.sameSizeBinaryOp 应用element-wise二进制操作没有隐式的扩张
coder.noImplicitExpansionInFunction 禁用隐式扩张在指定的函数生成的代码

主题

故障排除

非常数的指数变长度输入宗量或varargout for循环

力循环展开时,代码生成器不能确定指数的值变长度输入宗量varargout

避免重复函数生成的代码

减少重复的发生函数生成的代码。

输出变量前必须指定运行时递归调用

解决运行时递归输出变量赋值。

编译时递归限制达到

解决编译时递归限制错误。

解决错误:大小不匹配

排除大小不匹配的错误发生在代码生成。