最近使用网上资源,在VS2008环境下编写FTP 服务器端程序的功能,但是碰到运行时访问越界的问题,在网上查到了解决办法,现在记录下来:
共享库,编译程序Debug版的运行正常,一换到Release版就会在sockcore.cpp的 CAsyncSocket::AttachHandle函数中运行到
if (pState->m_pmapSocketHandle->IsEmpty()) 处报访问越界导致程序崩溃。原因应该是release版socket没进行初始化的话,系统没有赋初值,在
应用程序源文件的InitInstance()中调用AfxSocketInit()进行初始化即可。
CSocket create 套接字失败,原因没有初始化套接字。
BOOL CFTPServerApp::InitInstance() {
//.......
//加入下面代码: if (!AfxSocketInit()) { AfxMessageBox("套接字初始化失败!"); return FALSE; }
//......
}
转载请注明原文地址: https://ju.6miu.com/read-965460.html