Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This git Archive contains test Sources for emC


This is a comprehensive test and example environment of src_emC

Refer to webpage []

Especially work with this git archives refer to []

emC is embedded multiplatform C. The approach:

  • C and C++ are platform-independent languages from view of the algorithm.
  • A user application can run on PC for test and simulation as well as on several platforms.
  • The adaption to operation system access is done by the OSAL layer (Operation System Adaption)
  • This OSAL is not a hard standard, it is flexible for your application, but some common approaches are regarded.
  • The adaption to hardware access should be done by user by adequate wrapper routines, whereby the calculation time is not ineffective if inline keyword is used.
  • The language style and standards should be a intersection (subset) of all common possibilities, this subset is enough productive. Do not use special featuers which has not really an advantage.
  • Use an ObjectOriented approach! It is possible in C too.
  • Combine C and C++ in a well kind. Define pure data primary in C with typedef struct and integrate that via inheritance in C++ classes for C++ usage.
  • Keep core algorithm in C if it is conceivable that C is need for a target platform; use C++ for more complex software structures which do never run on simple C only targets. Whereby call the C core routines with a simple C++ wrapping. C++ is usually better readable.
  • ObjectJc: The origin of this set of sources had been a Runtime system for Java-translated C-codes. Java has a well infrastructure with a common base class java.lang.Object, a reflection system for type test and symbolic access and some more. This approach is able to use for C/C++ too. The core access to this approach is the struct ObjectJc.


Contains emC as submodule, test environment, some projects Visual studio, gcc, embedded. Docu. Gradle directory structure






No packages published