所以我有这个C程序:
#include <stdio.h>
int helloworld()
{
return 12;
}
我使用以下命令对此进行编译:
gcc -shared -o libhello.so main.c
这给了我一个libhello.so
文件。
现在,我正在使用dlopen
在另一个项目中加载此函数。
我的问题是,有什么办法让我在libhello.so
文件中“列出”函数,以及它们的返回类型和参数?
我正在使用一个用户使用.so
文件创建插件的系统,因此我对功能的确切定义尚不清楚。
基本上,我想为.so
文件中定义的函数动态创建函数指针。
谢谢!
答案 0 :(得分:0)
您也许可以解析一个.so文件并设法获取函数名称(假设它们没有被混淆)。但是不可能获得参数和返回类型的数据类型。这就是文件附带相应头文件的原因。