C++ to C Compiler
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.
See our tool in action:
- 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
Take a look at our release notes for our emmtrix LLVM Tools to learn more about new features, improvements and bugfixes.
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 emmtrix C++ to C Compiler Online. It lets you run different compilers and shows you all intermediate results of the compilation process. Whether you’re an experienced developer or just starting out, it provides an invaluable platform for learning and honing your coding skills. You can enter your own code, choose between different programming languages (C, C++), and tweak compiler settings to see the effects in real time. We have integrated our tool eCPP2C into the framework so that you can convert C++ code to C code and also use Clang and gcc to view the internal representations (IR) of both languages. The way eCPP2C is implemented, the IR of the C++ and C program is almost identical with only minor differences that can be explored with the Compiler Explorer. See how different settings change the performance and efficiency of your code.