的情况下,我创建一个使用dlsysm(剪切对象开放),但我收到以下错误:错误:从无效转换`无效*`来`无效(*)()`在dlsysm
error: invalid conversion from "void*" to "void (*)()"
这里是我的代码:
#include<iostream>
#include<dlfcn.h>
using namespace std;
int main() {
void (*fnptr)();
void *handle;
handle = dlopen("./libtestshared.so",RTLD_LAZY);
if (!handle) {
cerr << "Cannot open library: " << dlerror() << '\n';
} else {
cout<<"Opening"<<'\n';
}
fnptr = dlsym(handle , "fun");
return 0;
}
你可以请提供的代码,你得到的错误?很难看到这里发生了什么 – Stefano
#include #include using namespace std; int main() { void(* fnptr)(); void * handle; handle = dlopen(“./ libtestshared.so”,RTLD_LAZY); if(!handle) cerr <<“无法打开库:”<< dlerror()<<'\ n'; } else { cout <<“Opening”<<'\ n'; } fnptr = dlsym(handle,“fun”); return 0; } –
Yugandhar
好的...我已经添加了格式为您的代码... – Stefano