I'm currently managing some C++ code that runs on multiple platforms from a single source tree (Win32, Linux, Verifone CC terminals, MBED and even the Nintendo GBA/DS). However I need to build an app targetted at an embedded platform for which there is no C++ compiler (C only). I remmber that many of the early C++ compilers were only front-ends stitting on existing C compilers (Glockenspiel for example used MSC). Are there any such 'frontend' C++ compilers in use today that will generate C code.
Tools Platform ----------- ------------ ______Visual C++ _____ WIN32 / /_______MBED (ARM)_______MBED (ARM dev board). / /_________GCC (x86)________Linux / Source____/___________GCC (ARM)________GBA/DS \ \__________SDA______________Verifone Verix CC Terminals \ \________ARM SDT__________Verifine VerixV CC terminals \ \______????_____________Renases M8/16/32. \ \____????_____________Z8 family.
The last two platforms I have good C compilers for but no C++.
As you can see I'm supporting a large variety of platforms and I share a large body of library code (and some app code).
If you use LLVM, llvm-g++
will compile your C++ code to LLVM bitcode, and llc
has a backend which converts bitcode to C.
You could write commands like this:
llvm-g++ -emit-llvm -c foo.cpp -o foo.o llc -march=c <foo.o >foo.c
Comeau C++ does this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With