我想實現的OpenCV到我的應用程序,但我每次調用函數時存在內存泄漏。我想這與我如何在Visual Studio中使用庫有關,但我使用空白項目對它進行了測試,並且它對於相同的設置似乎可以正常工作。是什麼原因造成我的內存泄漏的OpenCV
我想落實到代碼:
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;
}
如果我實現的簡單的東西:「CODE跑到這裏」
cv::Mat aVar;
在空間
,我已經把Visual Studio說,一旦程序終止,就會出現內存泄漏。任何想法可能是什麼問題?
內存泄漏錯誤可能是誤導的原因有很多;一個例子是,它可以執行之前OpenCV的相關全局析構函數有機會運行,也可能顯示爲泄漏內存這OpenCV的不自由,但其中O/S將在進程終止。在緊密循環中運行代碼時,除非您能觀察到越來越多的資源消耗,否則應該沒問題。 – 2013-05-07 23:53:27