有人维护一个带有 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 库使用的标识符前缀的列表吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

带有存储库和工作单元的 ASP.NET 标识

有人可以提供一个带有多个图像的神社/铁轨示例吗?

带有 GCC 的 C/C++:将资源文件静态添加到可执行文件/库

有人可以解释 Erlang 中 Pid(进程标识符)的结构吗?

有人用过 smartwin(一个 Windows C++ GUI OS 库)吗?

我可以对带有变量的向量使用 C++11 列表初始化器语法吗?