如何在动态共享库中使用C++的class

shornmao 2004-02-19 10:21:54
我们知道在静态库中使用C++的class不会有任何问题,在共享库中使用也不会有任何问题,只要使用链接库链接即可,编译器/链接器能够帮助我们解决这个问题,例如Windwos中的DLL配上import lib以及Linux中的so配上la都可以顺利完成这个任务。

然而,如果要在动态库中使用呢?例如windows中使用LoadLibrary或者在linux中使用dlopen,情况又是如何呢?对于C API,直接使用GetProcessAddress和dlsym获得函数指针即可,但是对于C++的class呢?类的成员指针吗?那样的话似乎是编译器实现相关的,因为关系到函数名的重整策略,而且即使解决了这个问题,构造函数和析构函数不能通过这个方法调用吧?
...全文
77 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧