AfxBeginThread创建线程时出现内存不足

时间:2021-07-21 18:15:09
CMyThread* m_pThread1;
m_pThread1=(CMyThread*)AfxBeginThread(RUNTIME_CLASS(CMyThread),THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
这是按照书中的例子写的一个线程,编译通过,但运行时跳出“内存不足”对话框。
调试到里面是
CWinThread* pThread = (CWinThread*)pThreadClass->CreateObject();
if (pThread == NULL)
AfxThrowMemoryException();
线程没有创建,pThread为空,所以跳出内存异常。

改用:
m_pThread1 = new CMyThread;
m_pThread1->CreateThread();

也是通过的,运行良好。

新版的VS2013就有错,VC6没问题,还有勾子设置也一样,2013就报错,VC6就没问题