获取Linux 动态库SO下的函数有关问题

获取Linux 动态库SO下的函数有关问题

获取Linux 动态库SO下的函数问题
test.cpp文件下
CTe te;

extern "c" int Init(void *pInfo)
{
  …
  te.Init(pInfo);
}

—————————————–
另外class CTe自身有Te.h Te.cpp

我把这三个文件编译打包成SO
其他模块从这个SO获取函数,能够获取到test.cpp中的Init函数,但是需要怎样才能获取到在test.cpp下定义的类变量te的其他函数呢?

大家知道吗?谢谢


nm,objdump。


要用纯虚类的办法才行。

然后通过一个导出函数返回一个基类的指针。
class CTebase {
public:
virtual void func1();

};

class CTe :public CTebase
{
void func1(){
//实现
}
}

然后在so中可以提供一个导出函数

extern "c" CTebase × GetCTe{
return new CTe ();
}

用的时候先获取指针就可以用了

自己google一下 “C++ dlopen mini HOWTO” 来看看吧

获取Linux 动态库SO下的函数有关问题

相关文章:

你感兴趣的文章:

标签云: