Giter Site home page Giter Site logo

77summer / ccinfra Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiaolang315/ccinfra

0.0 0.0 0.0 440 KB

ccinfra is a C++ infrastructure library for writting better C++ codes easily especially in embeded development!

C++ 80.48% C 19.20% CMake 0.33%

ccinfra's Introduction

ccinfra


Introduction

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!

Install and Test

Get ccinfra

git clone [email protected]:MagicBowen/ccinfra.git

Build ccinfra

cd ccinfra
mkdir build
cd build
cmake ..
make

Install ccinfra

sudo make install

You can also install ccinfra manually, just copy "ccinfra/include" and "ccinfra/build/src/libccinfra.a" to your special installation path.

Test ccinfra

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

Supported Platform:

  • [MAC OS X] supported
  • [Linux] supported
  • [Windows] not supported

Supported Compilers:

  • [CLANG] 3.4 or later.
  • [GCC] 4.8 or later.
  • [MSVC] not supported.

Finally

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!

ccinfra's People

Contributors

magicbowen avatar fingerballet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.