二、在ubunt上編譯
解壓之後進入目錄:leveldb-1.4.0
執行:make,生成了: libleveldb.a
三、相應標頭檔案:/home/lb/pratice/leveldb-1.4/include/leveldb目錄
四、新建測試目錄:
cd /home/lb/pratice/leveldb-1.4
mkdir test
cd ~/leveldb-1.4
五、進入test進行測試:
cd ~/test
test.cpp:
#include #include #include #include int main(){
leveldb::db* db;
leveldb::options options;
options.create_if_missing = true;
leveldb::status status = leveldb::db::open(options,"/tmp/testdb", &db);
assert(status.ok());
//write key1,value1
std::string key="key";
std::string value = "value";
status = db->put(leveldb::writeoptions(), key,value);
assert(status.ok());
status = db->get(leveldb::readoptions(), key, &value);
assert(status.ok());
std::cout
assert(status.ok());
status = db->delete(leveldb::writeoptions(), key);
assert(status.ok());
status = db->get(leveldb::readoptions(),key2, &value);
assert(status.ok());
std::cout
if(!status.ok()) std::cerr<
六、編譯執行命令
:g++ -o test test.cpp -i../include -l../libleveldb -lleveldb
七、生成乙個test檔案:
執行:
使用過得網上不通過命令:
g++ -o test test.cpp ../leveldb/libleveldb.a -lpthread -i../leveldb/include
leveldb原始碼分析之sst檔案格式
leveldb插入資料時,首先將資料插入memtable,當memtable資料量達到一定大小時,當前memtable賦值給immemtable 也是memtable型別,但是這個是唯讀的 然後產生乙個新的memtable用於後續的資料插入,immemtable將會把資料持久化到磁碟中。磁碟檔案是按...
leveldb的啟動流程
manifest檔案是儲存每次壓縮記錄的。current檔案裡面只有一條記錄,就是現在有些小的manifest檔案。只有資料庫重新open的時候才會用到manifest檔案來進行恢復。manifest檔案的格式是record,讀取的時候會先讀取資料型別,類似klognumber,讀取到型別之後再讀取...
在caffe訓練的資料來源的格式
主要參考這個檔案 在進行caffe的訓練的時候 資料來源可以有兩種格式 1.利用txt格式直接訓練 2.將txt轉化為lmdb格式再進行訓練 所以總結就是,在train val.prototxt當中,如果以txt為資料來源的時候data層型別為imagedata以及image data param,...