See Here
See change log
| 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 |
| Unit test framework. notes: Migrated to fcunit | |
| Thread cache memory pool. notes: Migrated to skull-malloc | |
| 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"
See Wiki
git clone git@github.com:finaldie/final_libs.git flibs
cd flibs
git submodule update --init --recursive
make
make check
make valgrind-checkmake bench
make bench-run
- 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 under64bit 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
- 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