相关疑难解决方法(0)

限制Linux静态库中的符号

我正在寻找限制导出到Linux静态库(存档)的C符号数量的方法.我想将这些仅限于那些属于该库官方API的符号.我已经使用'static'将大多数函数声明为static,但是这会将它们限制为文件范围.我正在寻找一种限制图书馆范围的方法.

我可以使用Ulrich Drepper的" 如何编写共享库"中的技术为共享库执行此操作,但我无法将这些技术应用于静态存档.在他早期的图书馆设计良好实践论文中,他写道:

唯一的可能性是使用'ld -r'将需要某些内部资源的所有目标文件合并为一个,然后限制由此组合目标文件导出的符号.GNU链接器可以选择执行此操作.

谁能帮助我发现这些选项可能是什么?我使用'strip -w -K prefix_*'取得了一些成功,但这感觉很野蛮.理想情况下,我想要一个适用于GCC 3和4的解决方案.

谢谢!

c linux static gcc

23
推荐指数
4
解决办法
2万
查看次数

标签 统计

c ×1

gcc ×1

linux ×1

static ×1