-qstaticinline(仅限 C++)
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qstaticinline | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
控制是否将内联函数视为具有 static
或 extern
链接。
当 -qnostaticinline 生效时,编译器将内联函数视为 extern
: 对于使用 inline
函数说明符标记的函数,只会生成一个函数主体,而不管同一函数的定义在不同源文件中出现多少个。 当 -qstaticinline 生效时,编译器将内联函数视为具有 static
链接: 在使用 inline
函数说明符标记的相同函数的不同源文件中,将为每个定义生成单独的函数主体。
语法
缺省值
-qnostaticinline
使用量
当 -qnostaticinline 生效时,缺省情况下将废弃未生成任何主体的任何冗余函数定义; 您可以使用 -qkeepinlines 选项来更改此行为。
预定义的宏
无。
示例
使用 -qstaticinline 选项会导致以下声明中的函数
f
被视为静态函数,即使未明确声明为静态函数也是如此。 将为函数的每个定义创建单独的函数主体。 请注意,这可能会导致代码大小大幅增加。inline void f() {/*...*/};