#pragma [no_]inline (funcname[, funcname])
该 pragma 对 pragma 的参数中列出的例程名称的内联进行控制。该 pragma 的作用域针对整个文件。该 pragma 只允许全局内联控制,不允许特定于调用点的控制。
#pragma inline 会提示编译器内联当前文件中与 pragma 中列出的例程列表匹配的调用。在某些情况下,此建议可能被忽略。例如,当函数的主体在另一个模块并且未使用交叉文件选项时,忽略该建议。
#pragma no_inline 会提示编译器不内联当前文件中与 pragma 中列出的例程列表匹配的调用。
只有在使用原型或空参数列表声明函数之后,才允许使用 #pragma inline 和 #pragma no_inline,如下例所示。
static void foo(int); static int bar(int, char *); #pragma inline(foo, bar)
有关更多信息,请参见编译器选项 -xldscope、-xinline、-xO 和 -xipo 的说明。