Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Basic Libraries for Linux
C Python Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
3rds
benchmark
fcache
fco
fconf
fev
fhash
flist
flock
flog
fmbuf
fnet
fthread_pool
ftime
include/flibs
tests
.Makefile.bench
.Makefile.doc
.Makefile.inc
.Makefile.libs
.Makefile.objs
.Makefile.targets
.Makefile.tests
.api_doxyfile
.clang-format
.gitignore
.gitmodules
.travis.yml
.ycm_extra_conf.py
ChangeLog.md
LICENSE
Makefile
README.md

README.md

Build Status

Common Libraries (Linux Platform)

Lastest Release

See Here

Library contains

Lib Name Description
flist Lockfree list in one producer one consumer
fhash Hash table
flock A wraper, which safe and easy to use pthread condition
flog A High Performance Log System: Thread-Caching Log System
fmbuf A light-weight buffer
fconf A simple format config lib
ftime Easy to create system timer
fthread_pool Simple thread pool, which easy to use
fnet Wrap the system api, easy to use the network api
fev Event framework, including buffer, network, timer service
fcache A simple cache with LRU
fco C coroutine support
fut Unit test framework. notes: Migrated to fcunit
fmempool Thread cache memory pool. notes: Migrated to skull-malloc
fpcap Pcap file convertion lib. notes: Migrated to fpcap

NOTE: After run as above, you can find the libraries have been installed in the specified folder or current folder, which named as "final_libraries"

API Documents

See Wiki

Compile

git clone git@github.com:finaldie/final_libs.git flibs
cd flibs
git submodule update --init --recursive
make
make check
make valgrind-check

Benchmark

make bench
make bench-run

Flags

  • Change the compiler, such as using clang:
make CC=clang
  • Build shared library instead of static library:
make SHARED=true
  • Build debug version without any optimization parameters
make debug=true
  • Build 32bit libraries under 64bit platform
make BIT=32
  • Build in parallel
make -j4   # replace the number 4 according to your real cpu number to speed up the compile time

Example (on 64bit platform)

  • Build 64bit static-link libraries
make -j4 && make -j4 check
  • Build 64bit dynamic-link libraries
make SHARED=true -j4 && make SHARED=true check
  • Install flibs to system
make install

notes: By default, the prefix is /usr/local, so the flibs will be installed to /usr/local, if you want to change the prefix, just run the following:

make SHARED=true prefix=$(other_location) -j4
make prefix=$(other_location) install

ChangeLog

See change log

Something went wrong with that request. Please try again.