小编mig*_*edo的帖子

在"C"头文件中声明的静态函数

对我来说,在源文件中定义和声明静态函数是一个规则,我的意思是.c文件.

然而,在非常罕见的情况下,我看到人们在头文件中声明它.由于静态函数具有内部链接,我们需要在包含声明函数的头文件的每个文件中定义它.这看起来很奇怪,远非我们通常在将某些东西声明为静态时所需要的.

另一方面,如果有人天真地尝试使用该功能而没有定义它,编译器会投诉.所以在某种意义上说这甚至听起来很奇怪并不是不安全的.

我的问题是:

  • 在头文件中声明静态函数有什么问题?
  • 有什么风险?
  • 编译时间有什么影响?
  • 运行时有任何风险吗?

c static function internal linkage

19
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

function ×1

internal ×1

linkage ×1

static ×1