2 u012554092 u012554092 于 2014.11.28 11:07 提问

MFC中视频流内存泄漏问题
mfc

void CHLDlg::OnBnClickedOpen()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUE,NULL,NULL,NULL,NULL);
pCapture = NULL;
if(dlg.DoModal()==IDOK)//
{
PathName = dlg.GetPathName();
FileName = dlg.GetFileName();
}
else
{
return;
}

c=(LPCSTR)PathName;
pCapture = cvCaptureFromFile(c);

video_fps=(int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FPS);

hThread2 = CreateThread(NULL,0,Wavedisplay,(LPVOID)this,0,NULL);

}

DWORD WINAPI CHLDlg::Wavedisplay(LPVOID lpParam)
{
CHLDlg *p=(CHLDlg *)lpParam;
p->SetTimer(1,(int)(1000/p->video_fps),NULL);
return 0;
}

void CHLDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDialogEx::OnTimer(nIDEvent);

if(1==nIDEvent)
{

    Frame_Img = cvQueryFrame( pCapture );

}

}

程序如上,变量都封装在CHLDlg类里面,析构函数里将它们一一释放,为什么程序运行后内存一直以每秒8kb的速度上升?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!