我有一個正在開發的C++程序,它處理許多不同類型的對象,這些對象需要在啓動時從文件中檢索。總文件大小略小於1GB。該程序必須至少在Windows 7和Linux上運行。程序的本地/專用sql數據庫
我的目標是從文件中讀取,並將其存儲到對象(包括數據驗證)提供的功能,所以我能想到的解決方案是:每各
- 只需提供至少一個功能對象類型從文件讀取,並將數據複製到新創建的對象。這是我迄今爲止所做的。
- 使用數據庫存儲數據並使用SQL檢索數據。
我想切換到第二個選項,但我有幾個限制:
- 不准我與我的程序連接到互聯網,所以遠程服務器數據庫超出這個問題。
- 我不允許製作一個強制用戶安裝其他軟件的程序,在本例中爲本地數據庫。
- 訪問本地數據只能通過運行程序來完成:沒有額外的可執行文件,用戶可以運行修改或讀取文件。
我已經在網上搜索了一個C++庫,允許程序使用SQL語法存儲/檢索特定數據到本地文件,但到目前爲止我一無所有。我知道的數據庫軟件,比如MySQL,Postgresql等不會因爲我提到的限制而做。
我的主要問題是:有沒有這樣的C++庫,還是我必須實現我自己的? 我寧願它是免費的,但我可以做任何我能找到的。
如果沒有像這樣的庫,有沒有人知道任何其他替代方案爲本地存儲數據的c + +程序?如果我要實現自己的目標,那麼存儲我的對象的方式(如在文件數據結構中)是什麼方式(對於少於1GB的數據,它的速度非常慢)?