coder.inline
包:编码器
在生成的代码中控制内联
语法
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_除法(被除数,除数)对于标量除法,内联生成更小的代码%大于函数调用本身。如果Isscalar(被除数)&& Isscalar(除数)码。inline(“总是”);其他的向量除法产生一个for循环。禁止内联以减少代码大小。coder.inline (“永远”);结束如果任何(除数== 0)错误(“不能被0除”);结束Y =被除数/除数;
更多关于
在R2011a中引入
这个话题有用吗?