包裹:编码器
在生成的代码中控制内联
编码器.inline('总是')
编码器.inline('从不')
编码器.inline('默认')
编码器.inline('总是')
势力内宁生成代码中的当前函数。放置编码程序
在它适用的功能内指令。代码生成器不会内联入口点函数和递归函数。此外,代码生成器没有内联功能议案
循环或内联函数调用议案
循环。
编码器.inline('从不')
防止生成的代码中的当前功能的内联。如果要简化MATLAB之间的映射,则防止内嵌®源代码和生成的代码。您可以使用使用方法禁用命令行中的所有功能的内嵌-o禁用:内联
选项Codegen.
命令。
编码器.inline('默认')
使用内部启发式方法来确定是否终止当前功能。通常,启发式产生高度优化的代码。用编码程序
只有当您需要微调这些优化时才。
在此示例中,功能Foo
在生成的代码中没有内向:
功能y = foo(x)译码器.inline('绝不');y = x;结尾
您可以使用编码程序
在控制流程代码中。如果软件检测到矛盾编码程序
指令,生成的代码使用默认的内向启发式并发出警告。
假设您要为具有有限内存使用的系统使用的划分功能生成代码。优化生成的代码中的内存使用,内联_division.
功能手动控制内嵌,基于它是否执行标量级或向量划分:
功能Y = Inline_Division(股息,除数)标量级的%,内联产生较小的代码%而不是函数调用自己。如果Isscalar(股息)&&iscalar(divisor)coder.inline('总是');别的%矢量分区产生一个循环。%禁止内联减少代码大小。编码器.inline('绝不');结尾如果任何(divisor == 0)错误('不能划分0');结尾Y =股息/除数;