我在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)如何将二进制文件转换成这样?