是否可以不让我的可执行文件中的符号可用于动态打开的库
Is it possible to NOT make symbols from my executable available to dynamically opened libraries?
当我dlsym()
某个库时,如果在库的代码中引用,则可以访问主可执行文件中的所有全局符号。
如何避免这种情况?至少dlsym()
的标志似乎没有提供这样的特性。
尝试默认隐藏主可执行文件中的所有符号。也就是说,使用-fvisibility=hidden
和可能更多的选项进行编译,如下所述:如何将gcc-fvisibility选项应用于静态库中的符号?
这将使您的主要可执行文件不导出任何符号,因此库将找不到任何内容。
相关文章:
- C++模板函数,用于比较任何无符号整数和有符号整数
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 使用 fopen 打开 .pak 文件并使该文件应用于 const 无符号字符* (C++)
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- Constexpr 可变参数模板,用于对无符号整数进行重新排序
- C++,概念不适用于无符号整数作为结果类型?
- 用于删除符号并生成排列的算法
- 项目符号 3 动力学不适用于非球体
- 自动符号转换,用于对类等数学向量进行操作
- 是否有 GCC 警告,用于使用 C 库中的符号而不是通过命名空间 std?
- Opencv 未定义的符号用于架构 cv:imwrite Mac osX high Sierra.
- C :用于体系结构错误的经典未定义符号
- CLang++ 链接器未定义的符号用于体系结构x86_64
- 无符号函数,用于返回使用任何数字的数字
- mac构建有一个未定义的符号,而linux构建并没有用于相同的代码
- 用于在2个带符号整数区间之间进行除法的C++算法
- 用于架构x86_64的未申报标识符和未定义的符号
- 未解决的外部符号C 用于继承和构造函数
- ld:1 个重复符号用于架构x86_64 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- c++和RLE用于符号序列