【发布时间】:2016-08-17 13:22:09
【问题描述】:
换句话说,static(=file-scoped)全局变量是否可以正好以一个下划线开头,而不会产生与 C 实现发生名称冲突的可能性?
https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html 说“...保留名称包括所有以下划线 ('_') 开头的外部标识符(全局函数和变量)...”(强调我的)。
我注意到 Linux 内核启动的函数可能不应该用双下划线直接调用。
我发现这个概念很有用,我发现_(_)something 在区分“私有”标识符时比something_ 更容易阅读,但我理解 (?) 双下划线邀请名称与 C 实现发生冲突。
全局、静态 _variables 和 _functions 安全吗?
【问题讨论】:
-
谷歌“C11 草稿”然后检查 7.1.3。 C 标准和 POSIX 不一定一致。
标签: c