linux - 是否可以使用 gcc 导出一组符号?
问题描述
我现在有一个可执行文件。我想从其他进程调用这个可执行文件中的一些函数,所以我尝试使用“-fPIC -pie -rdynamic”编译可执行文件,并使用 dlopen() dlsym() 来调用这些函数。它按预期工作。但是“-rdynamic”会导出许多不需要的符号。我只想导出其中的一个子集。怎么做?
解决方案
我找到了解决方案。使用 -Wl,--dynamic-list,symbol.list symbol.list 是当前路径中的一个文件,内容如下:
{foo;goo;};
这意味着我导出符号 foo 和 goo
推荐阅读
- python - 是否可以为 CPLEX 中的变量指定一组特定的值?
- php - 如何使通知与声音一起工作这不适用于声音甚至android中的默认通知声音
- python - 根据具有条件的其他列值创建新列
- google-sheets - 部分匹配一个范围的字符串与另一个范围的字符串,输出部分匹配
- php - 从 Laravel 中的关系中获取最后的记录
- apache-kafka - 在 Kaka Producer 中配置重试的最佳方式
- javascript - Webassembly.instantiate 期间如何定义最大内存?
- c# - 可空引用类型在具有临时可空字段的类中的使用
- memory-leaks - 如何阻止“com.newrelic.agent.Transaction”中的内存泄漏
- rest - 如何从 REST API 访问嵌套的 json?