包:编码器
生成的代码中的控件内联
coder.inline(总是)
coder.inline(“不”)
coder.inline(“违约”)
coder.inline(总是)
部队内联生成的代码中当前函数的。把coder.inline
指令在其应用的函数内部。代码生成器不内联入口点函数,内联函数进入parfor
循环,或内联函数调用parfor
循环。
coder.inline(“不”)
防止在生成的代码中内联当前函数。当你想简化MATLAB之间的映射时,防止内联®源代码和生成的代码。属性可以禁用命令行上所有函数的内联- o禁用:内联
选择的codegen
命令。
coder.inline(“违约”)
使用内部启发式来确定是否内联当前函数。通常,启发式产生高度优化的代码。使用coder.inline
只有在您需要对这些优化进行微调的时候。
在这个例子中,函数喷火
在生成的代码中没有内联:
函数y = foo(x) code .inline(“永远”);y = x;结束
您可以使用coder.inline
在控制流代码。如果软件发现有矛盾coder.inline
生成的代码使用默认的内联启发式并发出警告。
假设您想为内存有限的系统使用的除法函数生成代码。为了优化生成的代码中的内存使用,inline_division
函数手动控制内联,基于执行标量除法还是向量除法:
函数y = inline_divide(被除数,除数)%对于标量除法,内联产生更小的代码%,而不是函数调用本身。如果isscalar(被除数)&& isscalar(除数)“总是”);其他的%向量分割产生一个for循环。%禁止内联以减少代码大小。coder.inline (“永远”);结束如果任何(除数== 0)误差不能除以0);结束y =被除数/除数;