Facebook开源 C++11 组件库,真香!
Folly是Facebook open source library的縮寫,提供了類似 Boost 和 std 庫的功能。包括散列、字符串、向量、內存分配、位處理等,滿足大規模高性能的需求。
邏輯設計
Folly 是一組相對獨立的組件,有的簡單到幾個符號。對內部依賴沒有限制,這意味著給定的 folly 模塊可以使用任何其他 folly 組件。
所有符號都在頂級命名空間中定義folly,當然宏除外。宏名稱為 ALL_UPPERCASE 并且應以FOLLY_. 命名空間folly定義了其他內部命名空間,例如internal或detail。用戶代碼不應依賴于這些命名空間中的符號。
Folly 也有一個experimental目錄。這一名稱主要意味著我們認為 API 可能會隨著時間的推移發生重大變化。通常,此代碼仍在大量使用并且經過良好測試。
Folly安裝下載
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。
Ubuntu 16.04 LTS
需要以下軟件包(隨意剪切和粘貼下面的 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-devFolly 依賴需要從源代碼安裝的fmt。以下命令將下載、編譯和安裝 fmt。
git?clone?https://github.com/fmtlib/fmt.git?&&?cd?fmtmkdir?_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?_buildcmake?..make?-j?$(nproc)make?install?#?with?either?sudo?or?DESTDIR?as?necessary目前,Folly已經在Github上標星17.6K,累計分支4K(閱讀Folly的代碼對C++程序員成長也有很大幫助,希望這個項目你會喜歡。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的Facebook开源 C++11 组件库,真香!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C 析构函数
- 下一篇: C++对象的动态建立