Skip to content

sailfish009/embxx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview
-------------------
Embxx is Embedded C++ library that is developed with intetion to be used in 
bare metal and Linux based embedded environments. It comes to supplement 
essential functionality that is missing in widely used STL and BOOST C++ 
libraries.

Embxx doesn't use "RTTI" and "exceptions". It makes a significant effort to 
completely eliminate or minimise usage of dynamic memory allocation in order 
to make it usable with embedded system with low memory footprint and/or slow 
CPUs.

What you need
-------------------
1. CMake - Mandatory. This library uses cmake to generate Makefiles.
2. gcc v4.7 or greater. Mandatory. This library uses C++11 constructs that may 
   be not fully supported in earlier versions of this compiler.
2. Doxygen - Optional. Used to generate documentation.
3. Boost - Optional. Used in unittesting. 
4. Python - Optional. Used to run cxxtest to perform unittesting

How to use
-------------------
1. Create build directory (at any convenient place) and cd there:
   > mkdir <embxx_sources>/build
   > cd <embxx_sources>/build
2. Generate makefiles using cmake together with the path to embxx sources. 
   If no definitions specified, the makefiles will include compilation of 
   unittests and examples:
   > cmake ..
   
   To exclude unittests, use -DNO_UNIT_TESTS=1 option:
   > cmake -DNO_UNIT_TESTS=1 ..
   
   To exclude examples, use -DNO_EXAMPLES=1 option:
   > cmake -DNO_EXAMPLES=1
   
   To exclude both unittests and examples, use both options:
   > cmake -DNO_UNIT_TESTS=1 -DNO_EXAMPLES=1 ..
3. Compile all the sources and install. The installation root directory is
   <build_dir>/install
   > make install
4. To run the unittests (if such were compiled):
   > ctest
5. Generate doxygen documentation. The documentation will be generated in 
   <build_dir>/doxygen.
   > make doxygen 
6. Add "<build_dir>/install/include" to include search paths for your project 
 
Using embxx as git submodule
-------------------
The alternative way to use embxx is simply add its repository as git submodule
in your project, then add <git_embxx_submodule_dir> to your include search paths.

Current documentation
-------------------
The latest documentation for the library may also be found at the following link:
https://dl.dropboxusercontent.com/u/46999418/embxx/index.html

Git branches
-------------------
"master" - main branch, will always contain latest stable (released) version.
"develop" - current development branch

Contact information
-------------------
Author: Alex Robenko
E-mail: [email protected]

About

embxx - Embedded C++ Library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.0%
  • CMake 5.0%