我现在有一个可执行文件。我想从其他进程调用这个可执行文件中的一些函数,所以我尝试使用“-fPIC -pie -rdynamic”编译可执行文件,并使用 dlopen() dlsym() 来调用这些函数。它按预期工作。但是“-rdynamic”导出了许多不需要的符号。我只想导出其中的一个子集。怎么做?
最佳答案
我找到了解决办法。使用 -Wl,--dynamic-list,symbol.list symbol.list 是当前路径下的一个文件,内容如下:
{foo;goo;};
这意味着我导出符号 foo 和 goo
关于linux - 是否可以使用 gcc 导出一组符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509114/