对我来说,在源文件中定义和声明静态函数是一个规则,我的意思是.c文件.
然而,在非常罕见的情况下,我看到人们在头文件中声明它.由于静态函数具有内部链接,我们需要在包含声明函数的头文件的每个文件中定义它.这看起来很奇怪,远非我们通常在将某些东西声明为静态时所需要的.
另一方面,如果有人天真地尝试使用该功能而没有定义它,编译器会投诉.所以在某种意义上说这甚至听起来很奇怪并不是不安全的.
我的问题是:
c static function internal linkage
c ×1
function ×1
internal ×1
linkage ×1
static ×1