用共享DLL方式使用MFC,用CSocket写的服务器(开了一个监听线程),没事能正常使用
而改为用静态使用MFC时候!却来个中断
在其它机器上系统报程序错误!要关闭!从新启动!
void* CMapPtrToPtr::GetValueAt(void* key) const
// find value (or return NULL -- NULL values not different as a result)
{
if (m_pHashTable == NULL)
return NULL;
UINT nHash = HashKey(key) % m_nHashTableSize;
// see if it exists
CAssoc* pAssoc;
for (pAssoc = m_pHashTable[nHash]; pAssoc != NULL; pAssoc = pAssoc->pNext)
{
if (pAssoc->key == key)
return pAssoc->value;
}
return NULL;
}
中断指向if (m_pHashTable == NULL)
解决方案:
在 CSocket 被 Create 之前调用
AfxSocketInit 函数, 例如
WSADATA wsaData;
AfxSocketInit(&wsaData);
m_sock.Create()