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++源码编译测试相关推荐
- Ubuntu下源码编译VirtualBox六 —— 源码编译(5)
接前一篇文章<Ubuntu下源码编译VirtualBox五 -- 源码编译(4)>,链接如下: Ubuntu下源码编译VirtualBox五 -- 源码编译(4)_蓝天居士的博客-CSDN ...
- Ubuntu下源码编译VirtualBox五 —— 源码编译(4)
接前一篇文章<Ubuntu下源码编译VirtualBox四 -- 源码编译(3)>,链接如下: Ubuntu下源码编译VirtualBox四 -- 源码编译(3)_蓝天居士的博客-CSDN ...
- Spring源码编译测试
Spring源码编译(以5.3.22版本为例) 参考作者:程序员七哥 https://www.bilibili.com/read/cv11704879/ 出处:bilibili 本项目环境版本介绍: ...
- <Linux> Ubuntu kernel 源码编译 替换
本次是在win10自带的hyper-v上安装Ubuntu 16.04 server虚拟机进行试验(desktop版本类似),ubuntu的系统源代码编译后大概需要15G的内存空间,加上压缩包,及编译之 ...
- ubuntu php 源码编译安装mysql_ubuntu php5.6源码安装
标签: 今天又花了一天时间装了php,感觉php的源码安装也挺麻烦的,整个过程各种报错. 下篇文章准备整合所有查找到的报错和解决方法. php和nginx一样,在安装前需要装一堆的依赖.有libmcr ...
- Ubuntu下源码编译VirtualBox一 —— 源码下载
VirtualBox想必大家都不陌生,做Linux开发的尤其是嵌入式Linux开发的人应该基本都知道或玩过VMware和VirtualBox.但通常都是为了在Windows电脑上能够使用Linux环境 ...
- LXC源码编译测试(五)
Anbox是一个免费的开源兼容层,旨在允许为Android开发的移动应用程序和移动游戏在GNU / Linux发行版上运行. 使用LXC执行Android运行时环境,将Android的目录结构重新创建 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...
- Ubuntu 15.04 安装TensorFlow(源码编译) 及测试梵高作画
介绍Google的TensorFlow机器学习开源库,在UbuntuKylin上的安装和和源码编译. 原始官方文档参见:http://www.tensorflow.org. 本电脑配置如下: 3.19 ...
最新文章
- qteewidgetitem添加子节点_行为树的节点
- 微软亚研院CV大佬代季峰跳槽商汤为哪般?
- Effective C++ --8 定制new和delete 9杂谈讨论
- 面到阿里月薪 27k 数据岗,很难?
- c语言指针填空题目,C语言指针题目实战
- 入职地府后我成了人生赢家_拿年终奖前跳槽,你才是赢家
- 创建IPSEC连接安全
- Linux下安装golang
- 让失焦影像更加清晰 运用AI深度学习还原影像
- 谷歌称语音识别是下一个机会,尤其在发展中国家
- appium入门篇(2)--desired capabilities
- 将python项目部署到Docker
- 聊天室 java代码_java聊天室的实现代码
- 【考试总结贴】工程测量学
- PC软件标题修改器 支持加壳
- 使用 Spirent TestCenter 进行 4-7 层测试
- 基于Tensorflow 2.x手动复现BERT
- 一年月份大小月口诀_大月小月口诀 什么意思 有多少天
- 功能篇------android 实现“摇一摇”功能
- 技术总监.部门经理.程序员
热门文章
- 2021谷饶中学高考成绩查询,高考成绩
- server精简版代理意外终止 sql_来自阿里巴巴内部JAVA面试宝典意外流出
- dao层如何调用对象_你的项目应该如何正确分层?
- 如何关闭借呗订阅开通通知_支付宝花呗借呗隐藏规则,芝麻分600以上,花呗3.6万,借呗12万!...
- flask mysql orm,flask的orm框架(Flask-SQLAlchemy)-创建表
- 中添加复选框_Word/excel中在方框中打钩/叉的符号,简单方便快捷
- arduino tft 方向_ESP32在Arduino环境下玩转 LVGL,ESP32移植LVGL详细教程
- es6去除重复项_Excel的去除重复项你真的明白原理吗?浅尝去除重复项的函数奥秘...
- javaee 中遇到的jdk自带的异常(Exception)
- java建立线性表的链式结构,数据结构学习----线性表的链式表示(Java实现)