在C中,为什么某些函数名称前缀为“_ _”(双下划线)

时间:2016-11-08 23:26:39

标签: c

我正在阅读open-iscsi的源代码。在这个源文件中,我看到很少的函数以前缀“__”开头。在C语言中通常用双下划线作为前缀来命名函数的原因是什么?

示例:在文件usr / iscsi_sysfs.c中,函数名称为static int __get_host_no_from_hwaddress(void *data, struct host_info *info)

感谢阅读帖子

1 个答案:

答案 0 :(得分:2)

这些是保留标识符。使用它们guarentees没有命名与用户代码的冲突(假设用户遵循惯例)。

  

7.1.3保留标识符
....
  所有以下划线和大写字母或其他字母开头的标识符   下划线总是保留用于任何用途。

此类名称应出现在第三方库中,请参阅 @ M.M。的评论。