-qstaticinline(仅限 C++)

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qstaticinline      
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

语言元素控件

等效编译指示

无。

用途

控制是否将内联函数视为具有 staticextern 链接。

-qnostaticinline 生效时,编译器将内联函数视为 extern: 对于使用 inline 函数说明符标记的函数,只会生成一个函数主体,而不管同一函数的定义在不同源文件中出现多少个。 当 -qstaticinline 生效时,编译器将内联函数视为具有 static 链接: 在使用 inline 函数说明符标记的相同函数的不同源文件中,将为每个定义生成单独的函数主体。

语法

读取语法图跳过可视语法图 -q nostaticinlinestaticinline

缺省值

-qnostaticinline

使用量

-qnostaticinline 生效时,缺省情况下将废弃未生成任何主体的任何冗余函数定义; 您可以使用 -qkeepinlines 选项来更改此行为。

预定义的宏

无。

示例

使用 -qstaticinline 选项会导致以下声明中的函数 f 被视为静态函数,即使未明确声明为静态函数也是如此。 将为函数的每个定义创建单独的函数主体。 请注意,这可能会导致代码大小大幅增加。
inline void f() {/*...*/};

相关信息