c++动态加载so文件,能不能将socket类指针穿进去呢?
我尝试了一下怎么也没法搞定。求解
class CSocketBase
{
int senddata(char* data, int nLen);
}
class CMyClient:public CSocketBase
现在在CMyClient接收到数据后动态加载so文件,将数据内容传递进去进行处理。
test.so
extern "C" int CreatObj(CSourceBase *& client);
extern "C" int DestoryObj(CSourceBase *& client);
class CSourceBase
{
public:
CSourceBase(){};
virtual ~CSourceBase(){};
public:
virtual int DoLogic(char *lpszHeadData, int nHeadSize, char *lpszBodyData, int nBodySize, CSocketBase*pClient)=0;
};
然后将处理结果发送回去,我将CSocketBase指针传递进去,so能够加载,但是CreatObj失败,这该如何处理?
去掉传递CSocketBase指针,就能正常加载并调用