我正在尝试在我的应用程序中实现 OpenCV,但每次调用函数时都会出现内存泄漏。我想这与我在 Visual Studio 中使用该库的方式有关,但我用一个空白项目对其进行了测试,并且在相同的设置下似乎可以正常工作。
我试图实现的代码:
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize Microsoft Foundation Classes, and print an error if failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// Application starts here...
// Time the application's execution time.
TIMER start;
// CODE TO GO HERE!
TIMER end;
TIMER elapsed;
elapsed = end - start;
__int64 ticks_per_second = start.get_frequency();
// Display the resulting time...
double elapsed_seconds = (double)elapsed.get_time() / (double)ticks_per_second;
cout << "Elapsed time (seconds): " << elapsed_seconds;
cout << endl;
cout << "Press a key to continue" << endl;
char c;
cin >> c;
}
return nRetCode;
}
如果我实现如下简单的东西:
cv::Mat aVar;
在我放置“代码到这里!”的地方 Visual Studio 说一旦程序终止就会出现内存泄漏。任何想法可能是什么问题?