#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 和 -xcrossfile。