coder.inline
控制生成代码中当前函数的内联
说明
coder.inline( 控制在生成的 C/C++ 代码中当前函数的内联,如 option)option 所指定。
coder.inline("always")指示代码生成器在生成的代码中将函数调用替换为被调函数的内容(函数体)。coder.inline("never")可阻止在生成的代码中内联当前函数。coder.inline("default")指示代码生成器使用内部启发式方法来确定是否内联当前函数。
内联消除了函数调用的开销,并为进一步优化生成的代码提供了机会,但也可能生成更庞大、更复杂的代码。相反,防止内联可以简化 MATLAB® 代码和生成的代码之间的映射。默认情况下,代码生成器使用内部启发式方法来确定是否内联当前函数。通常,这些启发式方法会产生高度优化的代码。仅当需要微调这些优化时,才在 MATLAB 函数中显式使用 coder.inline 优化指令。
要控制代码生成器在每个单独调用点上的内联行为,请使用 coder.inlineCall 和 coder.nonInlineCall。
示例
输入参数
提示
如果使用
codegen(MATLAB Coder) 或fiaccel(Fixed-Point Designer) 命令,则可以使用-O disable:inline选项对所有函数禁用内联。与从 MATLAB 函数生成的 C/C++ 代码相比,从您编写的函数生成的 C/C++ 代码可能有不同速度和可读性要求。附加的全局设置使您能够控制生成的代码库的这两部分的内联。请参阅Control Inlining to Fine-Tune Performance and Readability of Generated Code (MATLAB Coder)。