原创 C++ lambda值引用 失效

#include <algorithm> #include <iostream> #include <chrono> #include <thread> using namespace std; std::thread thrd; v

原创 Inno Setup 初次使用

一,需求   1)發行程序需要,安裝配置mysql, 安裝配置Ftp Server,轉載 來自北方:https://www.cnblogs.com/dehai168/p/4512484.html   2)安裝包需要管理員權限,轉載http

原创 C++ delete自定義數據庫類型導致內存泄露

一, 問題場景     代碼中使用自定義數據類型時,爲了提高入參,出參普遍性。使用了void *指針類型管理入參出參。當釋放內存時沒有指定指針指向的類型,從而導致內存泄露。 typedef std::shared_ptr<SPIWork

原创 window下安裝mysql並配置主從數據庫

一、安裝mysql  網上找到教程安裝mysql,遇到幾點坑:      1)data文件創建:使用mysqld --initialize-insecure命令生成,而不是手動創建此文件夾      2)my.ini文件配置:      

原创 C++智能指針在接口中的應用

一,應用場景        使用mysql數據庫時, 當應用數據寫入mysql失敗後,使用sqlite數據庫作臨時存儲,然後更新到mysql數據庫中。 抽象接口如下: #include <iostream> #include <memo

原创 C++ 實現數據庫版本升級接口

一、應用場景          隨着需求的變化,數據庫表結構可能發生改變,這個時候就需要對數據庫文件進行升級。抽象接口如下: //注:class IDataBase; //typdef shared_prt<IDataBase> SPI

原创 FindNextFile函數

一、問題描述            使用FindFirstFile與FindNextFile遍歷指定文件夾時,獲取不到該文件夾下的文件。        class CMySharedFile; bool GetAllFiles(LPCT

原创 CTimer,對同一定時器,多次調用SetTimer

1.結論    對同一定時器,多次調用SetTimer,定時器會被重置。2.驗證LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

原创 模態對話框結束,界面上卻沒有消失

一,場景描述    今天維護代碼的時候,在主框架的WindowProc函數中,顯示了一個模態對話框。點擊模態對話框上面的按鈕之後,會調用EndDialog函數。通過打印發現,模態對話框已經銷燬了,模態對話框卻一直存在界面上。二,問題定位 

原创 SQLite死鎖

一,場景描述    有兩個線程,一個線程對SQLite數據庫讀操作。另外一個線程對數據庫寫操作,寫操作是通過begin transaction, commit transaction操作完成。業務層操作保存數據時,出現卡死現象    通過

原创 閱讀C項目初次感受

一,介紹    在閱讀C代碼時,快速掌握方式,就是弄清楚各個項目工程之間的關係,各個工程中編譯單元(.c)的關係。例如,我們一般將UI和底層邏輯分離成爲兩個工程:    -solution.sln        +xxxUI.vcproj

原创 輸入輸出緩存刷新

一,問題場景    使用getchar獲取用戶輸入,根據用戶輸入判斷是否退出循環,輸入字符之後,發現連續出現兩次提示輸入 int main( int argc, char **argv ) { char condition;