您当前的位置: 首页 >  linux

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LINUX使用C调用LMDB的方法

柳鲲鹏 发布时间:2018-09-14 10:11:20 ,浏览量:0

  • 下载代码

https://github.com/LMDB/lmdb

  • 解压
make && sudo make install

注意需要的是lmdb.h还是lmdb++.h。

  • 配置

检查.bashrc的,如果没有/usr/local/lib,要加上。

  • 简单测试

先在当前目录先:

mkdir testdb

再执行:

./mtest
  • 代码如下 

#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include  

#include "lmdb.h"

#define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
#define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
#define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))

#define TEST_DB_DIR 	"./testdb"

int main(int argc,char * argv[])
{
	int i = 0, j = 0, rc;
	MDB_env *env;
	MDB_dbi dbi;
	MDB_val key, data;
	MDB_txn *txn;
	MDB_stat mst;
	MDB_cursor *cursor, *cur2;
	MDB_cursor_op op;
	int count;
	int *values;
	char sval[32] = "";

mkdir(TEST_DB_DIR, S_IRWXU | S_IRWXG | S_IRWXO);

	srand(time(NULL));

	    count = (rand()%384) + 64;
	    values = (int *)malloc(count*sizeof(int));

	    for(i = 0;i            
关注
打赏
1665724893
查看更多评论
0.0518s