您的位置:首页 > 其它

CAsyncSocket血的教训-静态库惹的祸!

2016-08-02 11:38 330 查看
搞tcp/ip通讯,编译链接都好使,运行时,竟然出现了:

if (pState->m_pmapSocketHandle->IsEmpty())错误,

后来发现原因是使用静态mfc库导致的,用动态的就没事。

但我就想用静态的!

怎么办?

应该先在最开始,

#ifndef _AFXDLL
#define _AFX_SOCK_THREAD_STATE AFX_MODULE_THREAD_STATE
#define _afxSockThreadState AfxGetModuleThreadState()
_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;
if(pState->m_pmapSocketHandle == NULL)
pState->m_pmapSocketHandle = new CMapPtrToPtr;
if(pState->m_pmapDeadSockets == NULL)
pState->m_pmapDeadSockets = new CMapPtrToPtr;
if(pState->m_plistSocketNotifications == NULL)
pState->m_plistSocketNotifications = new CPtrList;
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: