SQLite封裝 北京中軟實訓總結

2021-04-13 00:06:53 字數 879 閱讀 3314

在此次中軟的實訓中,我參與了使用c++開發rss新聞閱讀器的專案。在此專案中,我主要負責了開源資料庫sqlite的封裝和開發。sqlite是乙個輕量級的資料庫,它具有跨平台和不依賴於其他軟體的特徵,所以是我們這個專案中資料庫的合適人選。

在對sqlite進行封裝時,我首先按照自己的經驗對其進行了設計,設計出了相關的類和方法。後來在實際的使用中發現了一些問題,就對其進行了改進,並在原來的基礎上優化了其效能。使用中發現的問題具體包括:1.使用過程中發生了記憶體洩露。經過走查**和除錯發現出現記憶體洩露的原因在於在堆中建立了乙個物件而沒有對其進行釋放,我調整了一下程式的邏輯,具體採用的是用乙個全域性變數暫時記錄當前新建立的物件,在下次呼叫時,刪掉原來的物件並記錄當前的物件,當程式退出時將這個全域性變數刪除。2.根據老師的建議,在程式退出時,如果使用者的資料庫還是開啟的(客戶程式設計師忘記呼叫資料庫的close()方法),應該自動將其資料庫關掉。    於是我在該資料庫類的析構函式中加入了關閉資料庫的操作。但這又導致了乙個錯誤--如果客戶程式設計師是在堆上建立的這個資料庫物件,而在程式退出時呼叫了close方法將這個資料庫關閉,而程式退出時呼叫該資料庫物件的析構函式又將其關閉就會產生異常。在該類中加入乙個標誌變數,表明該資料庫開關狀態,每次在關閉資料庫前根據這個標誌變數判斷資料庫的狀態,如果資料庫是開啟的,就將其關閉,否則不做操作,問題就解決了。

另外,對程式的效能進行了優化,具體措施包括:1.記憶體方面,將樹組開到2的n次方,根據記憶體的訪問原理(按位元組取指令或訪問),可以優化訪存的效率。 2.減少計算,將原來for(i=0;i

在完成了sqlite封裝的開發後,針對sqlite中不能視覺化建立資料表等缺點,我自己開發了乙個輔助開發工具sqliteeditor,用於建立表來寫指令碼.該程式使用mfc框架開發.使用者只需要輸入表名,並輸入表中各列的名字和屬性就可以自動將建立該錶的sql語句加入指令碼檔案中去.

中軟實訓總結 中軟實訓心得

在廈門中軟的乙個多月裡,在那裡學習的經歷讓我懷念,難忘,在那裡的每一天都會讓我成長。在中軟的實訓生活中,我深刻體會到了自己專業方面的欠缺和不足,也意識到了作為計算機網路工程專業的學生,要想在以後的職業中嶄露頭角,除了要有很好的專業知識,還必須具備良好的心理素質和善於交流溝通的能力,使自己在以後的途中...

中軟實訓總結 中軟實訓心得

中軟實訓心得 在廈門中軟的乙個多月裡,在那裡學習的經歷讓我懷念,難忘,在那裡的每一天都會讓我成長。在中軟的實訓生活中,我深刻體會到了自己專業方面的欠缺和不足,也意識到了作為計算機網路工程專業的學生,要想在以後的職業中嶄露頭角,除了要有很好的專業知識,還必須具備良好的心理素質和善於交流溝通的能力,使自...

中軟實訓總結 中軟實訓心得

在廈門中軟的乙個多月裡,在那裡學習的經歷讓我懷念,難忘,在那裡的每一天都會讓我成長。在中軟的實訓生活中,我深刻體會到了自己專業方面的欠缺和不足,也意識到了作為計算機網路工程專業的學生,要想在以後的職業中嶄露頭角,除了要有很好的專業知識,還必須具備良好的心理素質和善於交流溝通的能力,使自己在以後的途中...