尽量使库函数可重入。如果它们需要进行动态存储分配,至少要尽量避免除了 malloc
本身以外的任何不可重入性。
以下是一些关于库的命名约定,以避免名称冲突。
为库选择一个名称前缀,长度超过两个字符。所有外部函数和变量名都应该以这个前缀开头。此外,在任何给定的库成员中,应该只有一个这样的前缀。这通常意味着将每个成员放在单独的源文件中。
当两个外部符号总是一起使用时,可以破例,这样没有合理的程序会使用其中一个而不用另一个;那么它们可以放在同一个文件中。
未记录的用户入口点的外部符号的名称应以‘_’开头。 ‘_’ 之后应跟上为库选择的名称前缀,以防止与其他库冲突。如果愿意,它们可以与用户入口点放在同一个文件中。
静态函数和变量可以随意使用,无需遵守任何命名约定。