dll封装类如何导出接口

wl_tian_dao_chou_qin 2014-10-14 05:45:38
我写一个dll 库
CSocketDelegate_Client 我想导出此类
class CSocketDelegate_Client
{
public:
CSocketDelegate_Client();
virtual ~CSocketDelegate_Client();

virtual void SetConnectIP(char* IP);
virtual void SetConnectPort(DWORD Port);

virtual void TryConnect();
virtual int GetSokcetState();

virtual void OnSocketConnectSuccess();
virtual void OnSocketConnectFailed();
virtual void OnSocketDisConnect();

virtual void OnSocketReceive(CSocketBuffer* _Buffer,WORD MainCmdID,WORD SubCmdID);
virtual void SendData(char* SendBuffer, DWORD SendBufferSize);

private:
CSocket_C m_CSocket;
};
可是却要导出相关的成员类以及其他各种dll内部实现需要用到的类,而这些类在逻辑层是不需要用的。
有什么方法可以只导出此类不导出其他类。另外还有一点dll放在其他程序中使用方法是继承于CSocketDelegate_Client重写部分方法来使用了。我试过使用接口不能说是找不到CSocketDelegate_Client。
...全文
120 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhubo_1117 2014-10-17
  • 打赏
  • 举报
回复
使用 __declspec( dllexport) 修饰符
Saleayas 2014-10-14
  • 打赏
  • 举报
回复
使用接口是最好的,如果使用者需要继承你导出的接口,那是他们的事情。 如果你需要直接导出类也可以。直接使用 __declspec( dllexport) 修饰该类。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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