<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小明思考

    Just a software engineer
    posts - 124, comments - 36, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    leveldb研究 - 編譯/調(diào)試

    Posted on 2012-03-08 11:44 小明 閱讀(4845) 評論(1)  編輯  收藏 所屬分類: 分布式計(jì)算
    leveldb是 google對bigtable的一個(gè)簡化版的開源實(shí)現(xiàn),很有研究價(jià)值。

    我的編譯環(huán)境:ubuntu 32&g++ 4.6

    1.安裝git并下載代碼

    sudo apt-get install git-core
    git clone https:
    //code.google.com/p/leveldb/

    2. 編譯leveldb

    cd leveldb
    .
    /build_detect_platform
    make

    為了能夠調(diào)試,修改Makefile為debug mode(B模式)
    OPT ?= -g2

    編譯后會生成庫文件:libleveldb.a

    3. 編寫測試程序
    ldbtest.cpp
    #include <iostream>
    #include 
    "leveldb/db.h"

    using namespace std;
    using namespace leveldb;

    int main() {
        DB 
    *db ;
        Options op;
        op.create_if_missing 
    = true;
        Status s 
    = DB::Open(op,"/tmp/testdb",&db);

        
    if(s.ok()){
            cout 
    << "create successfully" << endl;
            s 
    = db->Put(WriteOptions(),"abcd","1234");
            
    if(s.ok()){
                cout 
    << "put successfully" << endl;
                
    string value;
                s 
    = db->Get(ReadOptions(),"abcd",&value);
                
    if(s.ok()){
                    cout 
    << "get successfully,value:" << value << endl;
                }
                
    else{
                    cout 
    << "get failed" << endl;
                }
            }
            
    else{
                cout 
    << "put failed" << endl;
            }
        }
        
    else{
            cout 
    << "create failed" << endl;
        }
        delete db;
        
    return 0;
    }
    注意link的時(shí)候需要加上-lpthread.

    運(yùn)行后得到結(jié)果:(Eclipse中運(yùn)行)


    評論

    # re: leveldb研究 - 編譯/調(diào)試  回復(fù)  更多評論   

    2012-03-15 14:47 by ayanmw
    給你補(bǔ)充下:
    編譯命令為g++ ldbtest.cpp -o ldbtest -L. -I./include -lpthread -lleveldb

    (工作目錄就是leveldb目錄中) include下面是leveldb的頭文件,-L 搜索library 為了libleveldb.a能夠被調(diào)用。

    另外,編譯的時(shí)候 可以將Makefile中說的snappy 壓縮 也帶上,還有谷歌perfecttools ,這個(gè)可選。壓縮還是有必要的吧。
    主站蜘蛛池模板: 精品国产免费观看久久久 | 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲精华液一二三产区| 人人揉揉香蕉大免费不卡| 日韩免费视频观看| 亚洲人成激情在线播放| 中国xxxxx高清免费看视频| 亚洲欧洲精品成人久久曰影片 | 亚洲精品456人成在线| 久久大香伊焦在人线免费| 丁香婷婷亚洲六月综合色| 香蕉97超级碰碰碰免费公| 久久丫精品国产亚洲av不卡 | 久久久无码精品亚洲日韩蜜臀浪潮| 午夜宅男在线永久免费观看网| 91情国产l精品国产亚洲区| 日韩精品在线免费观看| 亚洲欧美成aⅴ人在线观看| 免费观看a级毛片| 免费成人在线视频观看| 亚洲成av人在线视| a级毛片视频免费观看| 最新亚洲成av人免费看| 国产精品小视频免费无限app| 又爽又黄无遮挡高清免费视频| 亚洲国产高清国产拍精品| 亚洲av无码专区国产乱码在线观看| 三年片免费观看大全国语| 亚洲AV永久无码精品| 日韩精品亚洲专区在线观看| 亚洲AV无码AV日韩AV网站| 亚洲?v无码国产在丝袜线观看| 2021国产精品成人免费视频| 99亚偷拍自图区亚洲| 亚洲视频一区调教| 中文字幕无码不卡免费视频| 国内少妇偷人精品视频免费| 九九九国产精品成人免费视频| 亚洲精品成人无码中文毛片不卡| 88xx成人永久免费观看| 国产成人亚洲精品|