我有一个删除符号的共享库。使用已知的方法/工具来获取符号名称(如nm -D
、objdump
、readelf
等),我看到所有符号实际上都被隐藏了。
但是,如果我strings
在我的共享库上运行 linux 工具,我可以看到其中一些符号被暴露。我确保我不在消息中打印任何这些符号,但它仍然以某种方式打印我希望被剥离的符号。
strings
所以,我的问题是,如何在 linux的命令行工具中隐藏我的符号?任何帮助,将不胜感激。
编辑:我strip -strip--all
用来隐藏静态符号,我还启用-fvisibility=hidden
编译标志来隐藏不需要的动态符号。