Skip to content
 
 

Latest commit

 

History

630 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Common Libraries (Linux Platform)

Lastest Release

See Here

ChangeLog

See change log

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 Logging 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
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

About

Basic Libraries for Linux

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages