首页 > 系统相关 >leveldb在Windows和Linux上编译

leveldb在Windows和Linux上编译

时间:2023-01-27 11:32:36浏览次数:79  
标签:gcc leveldb Windows cd 编译 https Linux com


leveldb在Windows和Linux上编译

 

LevelDB是Google传奇工程师Jeff Dean和Sanjay Ghemawat开源的KV存储引擎(而非SQL),它是一种非关系型数据库。leveldb只有一层,即objects,也即key-value。相当于一个库就是一堆key-value,而由于它的一个库是对应一个文件目录,所以它其实也没有库的概念。而最令人喜爱的是,它不需要依赖任何服务,和sqlite3一样,它完全只依赖文件系统,它与redis完全不同,redis是完全依赖内存,并且需要起一个服务,而leveldb是依赖文件系统,内存只是它的一个写操作的中转站,而且它不需要起服务,可以直接打包进应用里面,作为一个应用的内部数据存储引擎。因此,在应用领域,就有了sqlite3和leveldb这两个非常不错的选择。

而ldb的性能更高,吞吐更大。适用于客户端数据缓存,区块链节点保存数据等等。下面是ldb的构建过程。

​https://github.com/google/leveldb​

对于rhel6上的旧版本的gcc (如 gcc-4.4.7) 则需要升级 gcc 至少到 gcc-6.4.0 和 cmake 到 3.14,参考我写的教程:

​https://github.com/pepstack/update-gcc-el6​

使用centos7 下载:

     $ git clone --recurse-submodules https://github.com/google/leveldb.git

leveldb在Linux上编译

    cd leveldb

    mkdir xbuild

cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .

​以上生成静态库:libleveldb.a​

leveldb在Android上编译

    ​​https://shunix.com/port-leveldb-to-android/​

leveldb在Windows7上编译32位 (已经安装了 vs2015)

    cmd or cygwin

    cd leveldb

    mkdir build

    cd build

    cmake -G "Visual Studio 14" ..

leveldb在Windows7上编译64位 (已经安装了 vs2015)

    cmd or cygwin

    mkdir build64

    cd build64

    cmake -G "Visual Studio 14 Win64" ..

以上用 VS2015 打开生成的 leveldb.sln 编译即可。

更改代码生成 多线程DLL为 多线程

    notepad++打开所有build?目录下的 CMakeCache.txt 文件,替换 /MDd 为 /MTd ,替换 /MD 为 /MT。重新加载生成即可。

leveldb 的api接口

    ​​https://www.jianshu.com/p/775407717343​

    ​​https://github.com/google/leveldb/blob/master/doc/index.md​

​    http://ju.outofmemory.cn/entry/80506

    ​​http://ju.outofmemory.cn/entry/95891​

标签:gcc,leveldb,Windows,cd,编译,https,Linux,com
From: https://blog.51cto.com/mapaware/6024038

相关文章

  • Windows上使用VSCode结合mingw编译和调试C程序
    Windows上使用VSCode结合mingw编译和调试C程序目标是在Win7上,用VSCode使用mingw调试C程序.要设置终端为bash.exe.Windows7已经安装了VSCode(及相关插件),MSYS64,......
  • Linux PM QoS framework(2)_PM QoS class
    1.前言回顾上一篇文章(LinuxPMQoSframework(1)_概述和软件架构),PMQoSframework抽象出4个系统级别的QoSconstraint(统称为PMQoSclass),分别是cpu&dmalatency、network......
  • Linux PM QoS framework(3)_per-device PM QoS
    1.前言per-devicePMQoS是针对指定设备的QoSframework,背后的思考如下:1)resume_latency在RuntimePM的框架下,当device的引用计数减为0的时候,RPM会suspend该device。不......
  • Linux环境安装go部署运行gin框架
    1、Centos7.9解压安装go1.18[root@node0109:21:08/usr/local]#cd/usr/local/&&tarxfgo1.18.1.linux-amd64.tar.gz2、添加环境变量vim/etc/profileexportG......
  • vs code设置上传下载文件到Linux
    1、打开vscode工具,点击扩展,选择SFTP安装  2、CTRL+SHIFT+P打开配置SFTP    3、选择上传下载,会提示输入密码,输入密码后开始传输文件 ......
  • The combination of Jianshu, Linux, Firefox told me that Jianshu is a SB Wanyier.
    403ForbiddenYoudon'thavepermissiontoaccesstheURLonthisserver.Sorryfortheinconvenience.Pleasereportthismessageandincludethefollowinginf......
  • 初入职场的我认识到linux的重要性
    先自我介绍下,我是一名普通的软件工程专业的本科毕业生,今年刚毕业,软件工程的课程超级多,有程序设计基础、面向对象程序设计、软件工程导论、离散结构、数据结构与算法、计算......
  • Linux笔记03: Linux常用命令_3.5权限管理命令
     3.5权限管理命令3.5.1权限介绍1.为什么需要权限绝大多数用户使用的是个人计算机,而使用个人计算机的用户一般都是被信任的用户(如家人、朋友等)。在这种情况下,大家都可......
  • 搭建开发环境 -- linux系统
    前言 默认使用vagrant搭建环境,此环境可以不占用本地端口,即插即用,使用的工具有:docker  对应的控制台工具  portainermysqlredisnacos ===================......
  • Linux基础
    Linux基础一、计算机种类台式机笔记本服务器1.服务器的作用可以尽量避免数据不会丢失可以24小时不间断提供服务可以在速度上提升用户体验2.服务器的分类......