caffe的Leveldb格式数据四(实例)

本文详细介绍了LevelDB数据库的下载、编译过程,并在Ubuntu环境下完成安装。此外,还提供了如何新建测试目录、编写测试代码的具体步骤,以及编译运行命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载LevelDB包

    下载:leveldb-1.4.0.tar.gz

二、在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 <assert.h>
#include <string.h>
#include <leveldb/db.h>
#include <iostream>

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<<value<<std::endl;
	std::string key2 = "key2";
    
	//move the value under key to key2
	
	status = db->Put(leveldb::WriteOptions(),key2,value);
	assert(status.ok());
	status = db->Delete(leveldb::WriteOptions(), key);

	assert(status.ok());
	
	status = db->Get(leveldb::ReadOptions(),key2, &value);
	
	assert(status.ok());
	std::cout<<key2<<"==="<<value<<std::endl;
	
	status = db->Get(leveldb::ReadOptions(),key, &value);
	
	if(!status.ok()) std::cerr<<key<<"  "<<status.ToString()<<std::endl;
	else std::cout<<key<<"==="<<value<<std::endl;
	
	delete db;
	return 0;
}

六、编译运行命令

g++ -o test test.cpp -I../include -L../libleveldb -lleveldb

七、生成一个test文件:

运行:

八、中途遇到的snappy问题,我也试着安装了但是运行网上的命令还是有错。现在的这个命令是可以运行的。

使用过得网上不通过命令:

g++ -o test test.cpp ../leveldb/libleveldb.a -lpthread -I../leveldb/include

具体原因我也不是很清楚,如有编译成功的热心好友给我留言,谢谢。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值