2015-05-26 50 views
-2

我需要簡單地操縱Sqlite3數據庫(只讀一些列),並且這只是我的程序的一小部分,我不認爲只添加幾條指令160k行。 有一種方法可以做到這一點STL或另一個沒有那麼多內存昂貴的庫? 我在Windows上使用Visual C++。管理sqlite3數據庫不使用官方sqlite3庫

+0

假設你在Linux上,爲什麼不通過你的軟件包管理器來安裝它並將它作爲普通庫鏈接? –

+0

爲什麼在這個世界上有人貶低我的問題? – Azazel

+0

我想要注意的是,桌面窗口可能是目前在默認安裝中不包含sqlite的唯一操作系統。其他地方(服務器,臺式機,移動設備,甚至許多嵌入式設備)已經在那裏,因此不需要額外的成本。 – Javier

回答

1

我現在想到的一件事是檢查你是否可以對自己的sqlite文件進行操作。你可以看看這裏的文件文檔:https://www.sqlite.org/fileformat.html

但我認爲它不值得它自己做所有這些。

另一個建議是這裏: https://www.sqlite.org/footprint.html 你可以自己編譯sqlite並省略它提供的一些函數,這會使庫變小。只需編譯你需要的功能。

+0

感謝您的回答,而且編譯Sqlite3庫時使用最嚴格的選項意味着要在我的代碼中添加幾萬行代碼庫中的幾行代碼。 試圖做一些操作sqlite3文件將太昂貴。 – Azazel

+0

設置某些標誌然後編譯庫需要多少時間?這應該在一個小型圖書館的半小時內完成。庫的目的是捆綁函數,當然你的程序中只有幾行代碼。這就是lib的用途。你想要的是10行代碼的數據庫功能... – Nidhoegger

+0

對不起,我誤解了你之前說過的話。我在哪裏通過sqlite3選項(-SQLITE_OMIT_ *)?我正在用VS 2013工具集編譯cl.exe和lib.exe – Azazel