我正在编写一些使用动态共享库作为插件的代码。
我的构建共享库的命令行如下:
cc -shared -fPIC -o module.so -g -Wall module.c
在这个模块中,我可以调用任何已经在主可执行文件中加载的共享库中的函数。
然而,我无法访问(导出的)可执行文件本身中的函数(我会收到“未定义符号”错误)。
我的 dlopen
调用如下:
void *handle = dlopen(plugin, RTLD_NOW);
请问有什么方法可以让我的模块回调到可执行文件,而不必将可执行文件的所有实用函数放在另一个共享库中吗?