是否可以不让我的可执行文件中的符号可用于动态打开的库



当我dlsym()某个库时,如果在库的代码中引用,则可以访问主可执行文件中的所有全局符号。

如何避免这种情况?至少dlsym()的标志似乎没有提供这样的特性。

尝试默认隐藏主可执行文件中的所有符号。也就是说,使用-fvisibility=hidden和可能更多的选项进行编译,如下所述:如何将gcc-fvisibility选项应用于静态库中的符号?

这将使您的主要可执行文件不导出任何符号,因此库将找不到任何内容。

最新更新