调用二进制文件中的导出函数

时间:2019-05-26 21:01:39

标签: c linux dlopen dlsym

我在Linux中有二进制文件(不是so文件),该文件导出了一些功能。

我想从运行时的C代码中调用导出函数的1,我知道使用dlsym可以调用so文件中的函数,例如

#include <dlfcn.h>
void* libHandle =dlopen("/usr/lib/myLib/libutil.so", RTLD_LAZY);
if (!libHandle) {
 exit(1);
 }

void (*circle)(int x, int y, int r);
circle = dlsym(libHandle, "drawCircle");
circle(10,10,7);
dlclose(libHandle);

1)我可以仅在so文件上调用运行时函数吗?

2)如何检查要导出的函数调用1的二进制文件是否为文件?

3)如何将二进制文件转换成这样?

0 个答案:

没有答案