zoukankan      html  css  js  c++  java
  • iOS 轻量级的数据库leveldb

    轻量级的数据库leveldb https://github.com/google/leveldb

    一:在iOS下编译leveldb

    终端:

    1: git clone https://github.com/google/leveldb.git

    2: 进入根目录

       cd leveldb-master

    3: 编译:

      CXXFLAGS=-stdlib=libc++ make PLATFORM=IOS

    编译完成之后,在当前目录里会生成 libleveldb.a , 支持全部模拟器与真机;

    头文件在 include 目录下

    二:引用库

    leveldb是c++的;使用的时候需要oc的.m文件修改为.mm文件;

    将编译好的库以group的形式导入到xcode工程;

    使用oc的方式引用 

    #import "db.h"

    #import "options.h"

    #import "write_batch.h"

    这时会出现xxx.h找不到的错误;

    直接修改include 目录下的头文件;

    把出错的头文件部分做如下修改

    这种#include "leveldb/xx.h" 改为#include "xx.h"

    三:test

    #include <iostream>
    #include <string>
    #include <assert.h>    
    #include "leveldb/db.h"    
    
    using namespace std;
    
    int main(void) 
    {       
    
        leveldb::DB      *db;    
        leveldb::Options  options;    
        options.create_if_missing = true;    
    
        // open
        leveldb::Status status = leveldb::DB::Open(options,"/tmp/testdb", &db);    
        assert(status.ok());    
    
        string key = "name";    
        string value = "chenqi";    
    
        // write
        status = db->Put(leveldb::WriteOptions(), key, value);    
        assert(status.ok());    
    
        // read
        status = db->Get(leveldb::ReadOptions(), key, &value);    
        assert(status.ok());    
    
        cout<<value<<endl;    
    
        // delete
        status = db->Delete(leveldb::WriteOptions(), key);    
        assert(status.ok());        
    
        status = db->Get(leveldb::ReadOptions(),key, &value);    
        if(!status.ok()) {
            cerr<<key<<"    "<<status.ToString()<<endl;
        } else {
            cout<<key<<"==="<<value<<endl;    
        }   
    
        // close 
        delete db;    
    
        return 0;    
    }
    

      

    参考:http://www.tanhao.me/pieces/1397.html/

    http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html

     

  • 相关阅读:
    P3413 SAC#1
    [BJOI2017]树的难题
    [HNOI/AHOI2018]转盘
    P2664 树上游戏
    [POI2013]BAJ-Bytecomputer
    [ZJOI2010]网络扩容
    数列游戏
    士兵占领
    [ZJOI2016]大森林
    P4755 Beautiful Pair
  • 原文地址:https://www.cnblogs.com/cocoajin/p/5031070.html
Copyright © 2011-2022 走看看