有人维护一个带有 C 库使用的标识符前缀的列表吗? [关闭]
Posted
技术标签:
【中文标题】有人维护一个带有 C 库使用的标识符前缀的列表吗? [关闭]【英文标题】:Does someone maintain a list with identifier prefixes used by C libraries? [closed] 【发布时间】:2022-01-22 15:58:13 【问题描述】:由于C
没有命名空间,我们必须帮助自己使用非静态标识符中的前缀。任何图书馆接缝都有自己的前缀。如果有一些碰撞,事情就会变得很糟糕。
有成千上万个带有短前缀的库,我觉得有很多我从未听说过。
所以当我创建自己的库时,如何避免冲突?是否有人维护一个带有某些库已经使用的前缀的列表?
【问题讨论】:
我怀疑是否有一个模糊全面的清单。 没有“数千个带有短前缀的库”,可能有数十万个。所以编制这样的清单并不现实。 而且您在项目中需要两个库来解决两个不同的问题,并且它们具有相同前缀的可能性可能很小。而如果它们是不同的并且做不同的事情,即使它们恰好具有相同的前缀,也不太可能在前缀之后具有相同的名称。唯一的问题是,如果您出于某种原因需要使用两个库来解决非常相似的问题,那么前缀和函数名冲突的风险就会更大。 这个对另一个问题List of already used objective-c Prefixes 的回答建议在https://cocoadev.github.io/ChooseYourOwnPrefix/ 引用这个列表。这是来自 GNU 的 Reserved Names 的简短列表。 简短的回答是选择一个前缀并在谷歌上搜索您建议的函数名称。 【参考方案1】:TL;DR;答案是,除了标准库(定义了保留标识符的列表)之外,维护任何这样的列表(几乎)是不可能的......即使作为公共 Wiki。
对于您自己的库,我建议对所有标识符使用公共前缀(例如adb_xxx
...这样,您就可以有效地定义自己的命名空间adb_
。
一个好的、一致的命名约定应该减少发生冲突的机会......就像保持最小范围的重要性一样(即,除非需要,否则不要使事物全局化)。
【讨论】:
以上是关于有人维护一个带有 C 库使用的标识符前缀的列表吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
带有 GCC 的 C/C++:将资源文件静态添加到可执行文件/库
有人可以解释 Erlang 中 Pid(进程标识符)的结构吗?