rocksdb ubuntu c++源码编译测试
生活随笔
收集整理的這篇文章主要介紹了
rocksdb ubuntu c++源码编译测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
環境: ubuntu16.4 需要安裝 snappy gflage bz2 zstd 以及g++ 其中zstd是facebook開放源代碼里的壓縮的庫
git clone?https://github.com/facebook/rocksdb.git
cd rocksdb?
make static_lib 成功生成 librocksdb.a靜太庫(使用動態庫,make share_lib)
cd examples/
測試?simple_example.cc 編譯命令:
g++ simple_example.cc -o test -I ../include ../librocksdb.a -std=c++11 -lpthread -lrt -lsnappy -lgflags -lz -lbz2 -lzstd 成功后生成test可執行文件
./test
修改simple_example?
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory.#include <cstdio> #include <string> #include <iostream>#include "rocksdb/db.h" #include "rocksdb/slice.h" #include "rocksdb/options.h"using namespace rocksdb; using namespace std;std::string kDBPath = "/tmp/rocksdb_simple_example";int main() {DB* db;Options options;// Optimize RocksDB. This is the easiest way to get RocksDB to perform welloptions.IncreaseParallelism();options.OptimizeLevelStyleCompaction();// create the DB if it's not already presentoptions.create_if_missing = true;// open DBStatus s = DB::Open(options, kDBPath, &db);assert(s.ok());// Put key-values = db->Put(WriteOptions(), "key1", "value");assert(s.ok());std::string value;// get values = db->Get(ReadOptions(), "key1", &value);assert(s.ok());assert(value == "value");std::cout << value << std::endl;// atomically apply a set of updates{WriteBatch batch;batch.Delete("key1");batch.Put("key2", value);s = db->Write(WriteOptions(), &batch);}s = db->Get(ReadOptions(), "key1", &value);assert(s.IsNotFound());db->Get(ReadOptions(), "key2", &value);assert(value == "value");std::cout << value << std::endl;delete db;return 0; }再次編譯,輸出value value?
轉載于:https://my.oschina.net/u/198124/blog/908795
總結
以上是生活随笔為你收集整理的rocksdb ubuntu c++源码编译测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样在fastboot 里面加入新的命令
- 下一篇: 《jQuery、jQuery UI及jQ