open
,read
等),以下划线和大写字母开头的名称(例如_Thread
),名称开头使用双下划线或包含它(例如__GCC__
)。对于POSIX兼容性更是如此(请参阅GCC命名约定)。
我正在创建一个新库,其中每个函数,类型或宏都以前缀开头(如果是宏,则以大写字母书写)。但是,如果我创建一个全局但隐藏的变量,我怀疑我必须使用哪些名称。或者如果它是一个宏。无论如何,它应该是隐藏的。我将使用任何命名约定吗?我以为我可以使用__mycustomprefix_global
,但我不确定。提前谢谢!
更新
我知道static
并在任何可能的地方使用它。但是,我所说的变量/函数/宏必定是全局的。
答案 0 :(得分:1)
原则上,以前导下划线开头的标识符保留用于新语言关键字,C运行时和标准库以及编译器内在函数,因此不应使用它们。
但是,如果使用名称空间前缀,则冲突的可能性很低,因此在实践中无关紧要。就个人而言,我会使用尾随的下划线。