ccinfra
is a C++
infrastructure library for writting better and effective C++
codes! It includes below main features:
- Some grammer sugar that wrappered
C++
keywords for a better cross-platform C++ programming style. - A DCI programming frame for implementing composed programming in C++ easily!
- Memory utils. For example: memory allocator, AutoMsg, TransData ...
- Data structures (eg. array, list, map) for self memory government demands! It's useful for embeded programming.
- Some algorithm for bits operator, loop, bound...
- Design pattern, such as Singleton and State pattern.
- Concurrency tools, such as thread pool, lock utils...
- Log, an implementation of log for ccinfra.
To learn more, visit the doc folder! View the source code of tests of ccinfra in the test folder for learning how to use every library elements in details!
git clone [email protected]:MagicBowen/ccinfra.git
cd ccinfra
mkdir build
cd build
cmake ..
make
sudo make install
You can also install ccinfra manually, just copy "ccinfra/include" and "ccinfra/build/src/libccinfra.a" to your special installation path.
To test ccinfra, you need install magellan which is an elegant C++ xUnit framework. Try to intall magellan by following the magellan tutoral!
Following the below instructions to test ccinfra:
cd build
cmake -DENABLE_TEST=1 ..
make
./test/ccinfra-test
- [MAC OS X] supported
- [Linux] supported
- [Windows] not supported
- [CLANG] 3.4 or later.
- [GCC] 4.8 or later.
- [MSVC] not supported.
Some features of ccinfra such as "sched" which based on std::thread need C++11 suport, therefor compile all the components of ccinfra should enable the C++11 compiling flag and link with pthread!