emmtrix
C++ to C Compiler
(eCPP2C)
Support for C++ Code
emmtrix C++ to C Compiler (eCPP2C) automatically translates your C++ source code into analyzable C code. The design goal was to keep the binary compilation of the original C++ code and the binary compilation of the translated C code mostly identical. This guarantees the functional correctness of the generated C code. eCPP2C utilizes the LLVM/Clang compiler technology to enable support of the latest features of the fast evolving C++ standard. In combination with emmtrix Parallel Studio, eCPP2C enables software parallelization of C++ applications.
Request your live demo today:
Prefer to talk?
Try eCPP2C in your browser:
Features
- Translation of C++ to C11 (ISO/IEC 9899:2011) source code
- Utilizes latest LLVM/Clang compiler technology
- Guarantees functional correctness of generated C code by verification tool
- eCPP2C Qualification Kit (ISO 26262, DO-178C/330 or any comparable standard) can be provided on request
- Demystifies how your C++ code is compiled to assembler
- Can be used in combination with (certified) C compilers and C code analysis tools
- Integrated into emmtrix Parallel Studio GUI to enable C++ code parallelization
Release Notes
Stay up to date with the latest features, improvements, and bug fixes in our LLVM-based toolchain.
Supported C++ Language Features
The following list displays some of the C++ language features supported by the C++ to C Compiler:
The emmtrix C++ to C Compiler is under active development and it aims to support the full feature set of the C++17 (ISO/IEC 14882:2017) standard as well as common GCC / Clang language extensions.
Interested in having C++ exceptions supported? Even though this C++ feature does not have an equivalent we can provide a solution to you upon request (see contact details at the buttom of the page).
emmtrix C++ to C Compiler Online
Try out eCPP2C directly in your browser with Compiler Explorer.
Convert C++ code to C and compare internal representations (IR) using Clang and GCC — all in real time.
Discover how minimal the differences between C++ and translated C are, and explore how settings affect performance and structure.
Let's Get in Touch
We believe that the best solutions start with a conversation. Whether you are exploring static code analysis, performance estimation, or code optimization – we’re here to help you reach your goals faster and more efficiently.