【发布时间】:2017-08-03 01:14:34
【问题描述】:
我是一名初级 c 程序员,来自高级语言,感觉 c 是扁平结构。有没有一种方法可以模拟包,这样我就可以拥有一个干净的命名空间而不需要前缀。
嵌套结构是我正在研究的一种结构。
它如何与第三方外部库一起工作,当存在名称冲突或它是独立的时会发生什么。
如果我要构建一个库或与库链接的多模块化应用程序,那么每个模块都可以具有与另一个模块中相同的变量、函数或结构名称。
另外,如果您要链接两个名称冲突的第三方库(.a 文件等),您如何解决此类冲突。
【问题讨论】:
-
不需要前缀?不,这是你正在使用的 C。
-
C 不是 C++
-
是的,只有 C,没有 C++,多模块应用程序的任何策略都有自己的隔离区域,以避免名称冲突。感谢你的帮助。我对 c 没有太多经验,所以请纠正假设。
-
@ShawnicHedgehog 它是如何工作的,假设您链接的两个外部库是否相互冲突、名称冲突?
-
库名冲突?库方法名称冲突?库全局变量冲突?
标签: c namespaces package shared-libraries static-libraries