I haven’t worked on C code for a few months now but I thought this technology was pretty nifty. They provide an IDE that can take C code and compile it to Java bytecodes to run on any VM. From their description:
Axiomatic Multi-Platform C (AMPC) is a C compiler suite with an IDE that generates Java bytecode to produce platform independent applicatons. It supports a very large subset of ANSI C (1989). It can be used to develop new applications using C as well as port existing applications written in C to run on JVM enabled devices. A JNI (JVM Native Interface) feature is available for calling native C or C++ functions. Also, many Java methods can be called from AMPC. The asm() directive can be used to embed Jasmin assembly code within C source code. It is useful for writing new applications using existing C skill-sets and porting C programs.