C 的一些心得

2021-09-30 13:04:30 字數 816 閱讀 9660

一、sqlite

sqlite,是一款輕型的資料庫,是遵守acid的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式裝置中,可能只需要幾百k的記憶體就夠了。它能夠支援windows/linux/unix等等主流的作業系統,同時能夠跟很多程式語言相結合,還有odbc介面,同樣比起mysql、postgresql這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。sqlite

也被用於很多軟體,開啟飛信的安裝目錄,就能看見 sqlite ,估計是被用來儲存聊天記錄的。

我下的版本為sqlite-amalgamation-3071400.zip,這個包含了主要的源**。sqlite-dll-win32-x86-3071400.zip這個是windows下的編譯好的dll檔案和def檔案,解壓縮後包含兩個檔案,sqlite3.def和sqlite3.dll.

編譯源**很簡單,新建立乙個c++空專案,把sqlite-amalgamation-3071400.zip解壓縮後的檔案拷進去,編譯、鏈結,就行了。我的目的是把sqlite資料庫作為自己專案中的一部分,是作為嵌入的一部分使用的。這個要利用到sqlite3.dll檔案。可是原始檔只有sqlite3.def和sqlite3.dll沒有sqlite3.lib檔案,怎麼用呢?根據def檔案可以生成對應的lib檔案。以下是命令列生成lib檔案。找到vs的安裝路徑,我的是d:\program

files\,用命令列進入以下路徑。

d:\program files\microsoft visual studio 9.0\vc\bin>lib /def:sqlite3.def /machine:ix86

C 類設計的一些心得

前段時間一直在重構遊戲裡面的幫戰系統,在重構的過程中幾次都放到了外網去測試,結果出了很多問題,死鎖一次,漏鎖一次 導致coredump 也正是在這次重構的過程中發現了如何設計健壯的類。1 整個的幫戰系統主要是有兩個類,乙個玩家類leaguebattler,乙個戰場類leaguebattlefield...

C 類設計的一些心得

前段時間一直在重構遊戲裡面的幫戰系統,在重構的過程中幾次都放到了外網去測試,結果出了很多問題,死鎖一次,漏鎖一次 導致coredump 也正是在這次重構的過程中發現了如何設計健壯的類。1 整個的幫戰系統主要是有兩個類,乙個玩家類leaguebattler,乙個戰場類leaguebattlefield...

IOCP的一些心得

iocp的工作執行緒的個數一般設定為processors 2 2,這是綜合考慮了工作執行緒可能是等待 掛起 正在執行的狀態。如果你測試出更好的結果,以你的為標準。iocp的工作執行緒由系統排程和優化,不要去干預執行緒的排程,除非你自信能超越系統的排程。在遇到奇怪的問題時,可以嘗試減少iocp工作執行...