今日,猿妹要和大伙儿强烈推荐一个Facebook开源系统的C 11 组件库——Folly,Folly包括Facebook 普遍应用的各种各样关键库部件。
Folly是Facebook open source library的简称,给予了相近 Boost 和 std 库的作用。包含散列、字符串数组、空间向量、内存分配、位解决等,达到规模性性能卓越的要求。
新项目详细地址:https://github.com/facebook/folly
Folly 是一组相对性单独的部件,有的简易到好多个标记。对內部依靠沒有限定,这代表着给出的 folly 控制模块能够应用一切别的 folly 部件。
所有符号都是在顶尖类名中界定folly,自然宏以外。宏名字为 ALL_UPPERCASE 而且应以FOLLY_. 类名folly界定了别的內部类名,比如internal或detail。客户编码不可取决于这种类名中的标记。
Folly 也有一个experimental文件目录。这一名字关键代表着大家觉得 API 很有可能会伴随着時间的变化产生重特大转变。一般,此编码仍在很多应用而且历经优良检测。
folly 适用 gcc (5.1 )、clang 或 MSVC。它适用在 Linux(x86-32、x86-64 和 ARM)、iOS、macOS 和 Windows (x86-64) 上运作。你能应用下列指令安装下载:
- wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz && \
- tar zxf release-1.8.0.tar.gz && \
- rm -f release-1.8.0.tar.gz && \
- cd googletest-release-1.8.0 && \
- cmake . && \
- make && \
- make install
默认设置状况下,搭建检测做为CMake all总体目标的一部分是禁止使用的。要搭建检测,请在配备时将-DBUILD_TESTS=ON特定为CMake。
必须 下列程序包(随便裁切和黏贴下边的 apt-get 指令):
- sudo apt-get install \
- g \
- cmake \
- libboost-all-dev \
- libevent-dev \
- libdouble-conversion-dev \
- libgoogle-glog-dev \
- libgflags-dev \
- libiberty-dev \
- liblz4-dev \
- liblzma-dev \
- libsnappy-dev \
- make \
- zlib1g-dev \
- binutils-dev \
- libjemalloc-dev \
- libssl-dev \
- pkg-config \
- libunwind-dev
Folly 依靠必须 从源码安裝的fmt。下列指令将免费下载、编译程序和安裝 fmt。
- git clone https://github.com/fmtlib/fmt.git && cd fmt
- mkdir _build && cd _build
- cmake ..
- make -j$(nproc)
- sudo make install
假如必须 高級调节作用,请应用:
- sudo apt-get install \
- libunwind8-dev \
- libelf-dev \
- libdwarf-dev
在 folly 文件目录(比如 checkout 网站根目录或归档解压网站根目录)中,运作:
- mkdir _build && cd _build
- cmake ..
- make -j $(nproc)
- make install # with either sudo or DESTDIR as necessary
现阶段,Folly早已在Github上标星17.6K,总计支系4k高清(Github详细地址:https://github.com/facebook/folly)阅读文章Folly的编码对C 程序猿发展也是有非常大协助,期待这一新项目你能喜爱。