我现在有一个可执行文件。而且我想从其他进程中调用此可执行文件中的某些函数,因此我尝试使用“ -fPIC -pie -rdynamic”和usig dlopen()dlsym()来编译可执行文件。它按预期工作。但是“ -rdynamic”会导出许多不需要的符号。我只想导出其中的一个子集。怎么做?
答案 0 :(得分:1)
我找到了解决方案。使用-Wl,-dynamic-list,symbol.list symbol.list是当前路径中的文件,其内容如下:
{foo;goo;};
这意味着我导出符号foo和goo