在 Ubuntu 上安装 Facebook 的 C++ 库 Folly

作者: , 共 912 字

Folly 官方地址:https://github.com/facebook/folly

folly 依赖格式化库fmt,需手工安装:

cd ~/3rd;
git clone https://github.com/fmtlib/fmt.git && cd fmt

mkdir _build && cd _build
cmake ..

make -j$(nproc)
sudo make install

下面脚本下载库文件到~/3rd,编译安装到/opt/include/opt/lib

cd ~/3rd;
sudo apt-get install \
    g++ \
    cmake \
    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 unzip

wget https://github.com/facebook/folly/archive/master.zip -O folly.zip
unzip folly.zip
cd folly-master
mkdir _build && cd _build
cmake .. "-DCMAKE_INCLUDE_PATH=/opt/include" "-DCMAKE_LIBRARY_PATH=/opt/lib"
make -j
make install  # /opt

folly编译后只有一个libfolly.a库文件。

Q. E. D.

类似文章:
由 Facebook 开发和维护的 C++库 Folly 提供了锁folly::MicroLock,代码文件地址:https://github.com/facebook/folly/blob/master/folly/MicroLock.h
相似度: 0.145
boost是除std外最常用的 C++库,覆盖很多常用操作。目前最新的版本是1.59.0
编程 » folly, C++, 数据容器
由 Facebook 开发和维护的 C++库 Folly 提供folly::sorted_vector_setfolly::sorted_vector_map,是std::mapstd::set在小数据集上的优化版。代码见: https://github.com/facebook/folly/blob/master/folly/sorted_vector_types.h
相似度: 0.131
armadillo是一个线性代数 C++库,封装了blaslapack,提供更直观的接口。
编程 » C++, folly
高效程序总是尽量避免频繁触碰在堆上分配和释放内存,所以无论是std::string还是folly:fbstring都做了SSO( small string optimization )。而folly::FixedString是一个很有意思的实现,它可以把任意长度的字符串都放在堆上。代码可见https://github.com/facebook/folly/blob/master/folly/FixedString.h
IT » Linux系统配置
查看当前 DNS :
编程 » folly, C++, 数据容器
由 Facebook 开发和维护的 C++库 Folly 提供folly::small_vector,代码文件地址:https://github.com/facebook/folly/blob/master/folly/small_vector.h
编程 » C++, folly
folly::fbstring是一个完全兼容std::string的类,可以做到无缝替换,而且性能更高。其代码参见https://github.com/facebook/folly/blob/master/folly/FBString.h
由 Facebook 开发和维护的 C++库 Folly 提供了自旋锁的实现folly::MicroSpinLock,代码文件地址:https://github.com/facebook/folly/blob/master/folly/synchronization/MicroSpinLock.h
新服务器上遇到一个问题, CronJob 计划任务突然不执行,所有用户的任务都失效,之前定时任务执行时发送的邮件也没了。而且间续发作,准确说,每天白天有 14 小时左右不执行,比如从早上 8 点到晚上 10 点,但有时候是从早上 7 点到晚上 9 点。
编程 » folly, C++, 数据容器
由 Facebook 开发和维护的 C++库 Folly 提供folly::sorted_vector_setfolly::sorted_vector_map,是std::mapstd::set在小数据集上的优化版。代码见: https://github.com/facebook/folly/blob/master/folly/sorted_vector_types.h