coder.inline
控制生成的代码中特定函数的内联
说明
coder.inline('always')
在生成的代码中强制对当前函数进行内联。将 coder.inline
指令放在要内联的函数中。代码生成器不对入口函数和递归函数进行内联。此外,代码生成器不会将函数内联到 parfor
循环中,也不会内联从 parfor
循环调用的函数。
coder.inline('never')
可阻止在生成的代码中内联当前函数。当您要简化 MATLAB® 源代码和生成代码之间的映射时,请阻止内联。
注意
如果使用 codegen
或 fiaccel
(Fixed-Point Designer) 命令,则可以使用 -O disable:inline
选项对所有函数禁用内联。
如果您使用 codegen
命令或 MATLAB Coder™ 生成 C/C++ 代码,则对于为您编写的函数生成的代码和为 MathWorks® 函数生成的代码,您可能有不同的速度和可读性要求。某些其他全局设置使您能够分别控制生成的代码库的这两个部分以及它们之间边界处的内联行为。请参阅Control Inlining to Fine-Tune Performance and Readability of Generated Code。
如果代码生成器不阻止生成的代码中的函数内联(即使它包含 coder.inline('never')
指令),请对 MATLAB 代码中的函数调用点的输入使用 coder.ignoreConst
函数。有关详细信息,请参阅Resolve Issue: coder.inline('never') Does Not Prevent Inlining of Function。
coder.inline('default')
指示代码生成器使用内部启发式方法来确定是否内联当前函数。通常,启发式方法会生成高度优化的代码。仅当需要微调这些优化时,才在 MATLAB 函数中显式使用 coder.inline
。
示例
详细信息
扩展功能
版本历史记录
在 R2011a 中推出