关于网友提出的“ xxexe 中的 0x00f12e77 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突”问题疑问,本网通过在网上对“ xxexe 中的 0x00f12e77 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: xxexe 中的 0x00f12e77 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突
描述: 在学C++的多线程,跟着这里学的 http://www.cnblogs.com/wxfasdic/archive/2010/09/23/1833522.html
做第一个例程的时候遇到问题。
void ThreadFunc()
{
CTime time;
CString strTime;
m_bRun = TRUE;
while(m_bRun)
{
time=CTime::GetCurrentTime();
strTime=time.Format("%H:%M:%S");
//运行到这里出错的,报错如下
//MFCMultiThread.exe 中的 0x00f12e77 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突
::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,strTime);
Sleep(1000);
}
}
调用处代码:
void CMFCMultiThreadDlg::OnBnClickedStart()
{
// TODO: 在此添加控件通知处理程序代码
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadFunc, NULL, 0, &ThreadID);
GetDlgItem(IDC_START)->EnableWindow(FALSE);
GetDlgItem(IDC_STOP)->EnableWindow(TRUE);
}
环境:Win7,VS2008
把ThreadFunc直接放到CMFCMultiThreadDlg::OnBnClickedStart()里调用是没问题的,难道是和C#一样线程安全访问的问题吗??
什么问题呢???
以上介绍了“ xxexe 中的 0x00f12e77 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3637163.html