原创 MFC多線程內存泄漏問題&解決方法

     在用visual studio進行界面編程時(如MFC),前臺UI我們可以通過MFC的消息循環機制實現。而對於後臺的數據處理,我們可能會用到多線程來處理。那麼對於大多數人(尤其是我這種菜鳥),一個比較快捷的方法便是選擇MFC多線

原创 如何寫paper

誤區一:We write papers and give talks mainly to impress others, gain recognition, and get promoted。寫paper的目標是: to infec

原创 OpenSSL 在VS2010環境下的安裝

由於需要使用OpenSSL,所以需要使用VS2010編譯一下,因爲以前大家使用的都是VS2008下編譯的,其實編譯也很簡單,主要是要安裝一個ActivePerl程序,可以在下面的地址進行下載: ActivePerl window安

原创 對寄存器ESP和EBP的一些理解

PS:EBP是當前函數的存取指針,即存儲或者讀取數時的指針基地址;ESP就是當前函數的棧頂指針。每一次發生函數的調用(主函數調用子函數)時,在被調用函數初始時,都會把當前函數(主函數)的EBP壓棧,以便從子函數返回到主函數時可以獲取EB

原创 關於_beginthreadex和CreateThread的區別

關於_beginthreadex和CreateThread的區別   在 Win32 API 中,創建線程的基本函數是 CreateThread,而 _beginthread(ex) 是 C++ 運行庫的函數。爲什麼要有兩個呢?因

原创 VC在debug版和release版中分配堆的區別

問題現象及測試代碼      前幾天有同事無意中用debug版的主程序調用了release版的dll中的某個輸出函數,該函數new了一塊內存並將指針返回給主程序並由後者釋放,主程序在調用delete釋放內存時斷言失敗。在排查問題時,同

原创 vector中erase用法注意事項

以前就發現了vector中的erase方法有些詭異(^_^),稍不注意,就會出錯。今天又一次遇到了,就索性總結一下,尤其是在循環體中用erase時,由於vector.begin() 和vector.end()是變化的,因此就引入了錯誤的

原创 findContours函數參數說明及相關函數

findContours函數,這個函數的原型爲: void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-

原创 vs2010配置OpenSSL(永久)

在VS2010中編譯好OpenSSL後就開始寫程序了。這時候你要在vs2010中配置openssl.我這裏給出主要的幾個步驟(和永久配置其他庫差不多): 1. 選擇屬性管理器->右擊Microsoft.Cpp.Win32.User->屬性