带有静态局部变量的C99静态内联函数
如果我在C99标题中写入类似的内容:带有静态局部变量的C99静态内联函数,c,inline,c99,static-members,static-functions,C,Inline,C99,Static Members,Static Functions,如果我在C99标题中写入类似的内容: static inline void f() { static int x = 0; // Do something with x } 是否保证包含此标头的每个模块分别获得f()的实例化和它自己的x的实例化?是的,根据定义,这就是静态的含义。它在标题中这一事实是无关紧要的。从概念上讲,C预处理器为每个.C文件创建一个要编译的文件,就像您自己刚刚(重新)将标题中的所有文本键入.C一样
static inline void f()
{
static int x = 0;
// Do something with x
}
是否保证包含此标头的每个模块分别获得
f()
的实例化和它自己的x
的实例化?是的,根据定义,这就是静态
的含义。它在标题中这一事实是无关紧要的。从概念上讲,C预处理器为每个.C
文件创建一个要编译的文件,就像您自己刚刚(重新)将标题中的所有文本键入.C
一样