【发布时间】:2018-02-13 22:47:44
【问题描述】:
假设我有一个库 foo,它由模块 foo 和 util 组成,并具有以下源代码树:
foo/
foo.c
foo.h
util.c
util.h
库的公共 API 在 foo.h 中定义,所有全局标识符都正确地以 foo_ 或 util_ 为前缀。 util 模块仅供 foo 使用。为了防止与名为 util 的其他模块发生名称冲突,我想创建一个(静态)库,其中只有来自模块 foo 的标识符可见。我该怎么做?
编辑:我在互联网上进行了广泛的搜索,但令人惊讶的是,这似乎是计算机科学中那些未解决的问题之一。
【问题讨论】:
标签: c posix ld static-linking object-files