创建MATLAB时存在特殊考虑因素®用于代码生成的函数。这些包括使用时的某些限制varargin.
和varargout.
,递归函数,匿名函数和嵌套函数。要为MATLAB递归函数生成代码,代码生成器使用编译时间递归或运行时递归。要生成高效的C / C ++代码,代码生成器有时会创建多个函数版本,称为函数专用。在某些情况下,您可以通过使用来阻止代码生成器创建功能专用coder.ignoreConst
和编码器.Ignolatize.
。在生成MEX函数时,您可以在MATLAB代码中绕过特定功能的代码生成,而是使用MATLAB引擎执行呼叫。为此,使用编码器.Extrinsic.
构造。
编码器.Extrinsic. |
将功能声明为外在并执行它马铃薯 |
coder.ignoreConst |
防止使用表达式的恒定值为功能专业 |
编码器.Ignolatize. |
防止代码生成器创建常量大小表达式的功能专业 |
表示MATLAB功能适用于代码生成。
生成代码varargin.
和varargout.
。
使用用于代码生成的MATLAB代码中的递归函数。
重写您的MATLAB代码,以便代码生成器使用运行时递归而不是编译时间递归。
在MATLAB代码中使用匿名函数,用于代码生成。
在MATLAB代码中使用嵌套函数用于代码生成。
代码生成器使用优先规则来解决函数调用。
代码生成器使用优先规则来解析文件类型。
如果代码生成不支持函数,请将其声明为万博1manbetx外在在matlab中执行。
不合适的索引进入varargin或for-loop中的varargout
当代码生成器无法确定索引的值时,强制循环展开varargin.
或者varargout.
。
减少生成代码中的重复函数的发生。
解决运行时递归的输出变量分配问题。
故障排除编译时递归限制错误。