Does Axiomatic Ansi C Compiler directly convert c source code to javabyte code?
As we know that c code can be converted into javabytecode by different ways like:-开发者_C百科 first, we can convert c code into java source code and then use java compiler to convert into bytecode. second, c to MIPS binary and then MIPS to bytecode.
As both adds overhead in execution, I want to know the way of Axiomatic Ansi C Compiler which i want to use in my project. I need a faster way. Or advise me any other alternate options. Thanks for your effort.
After googling and some knowledge about JVM I landed on following points:
The java bytecode generated by the axiomatic C compiler, is not efficient. Instead of that NestedVM and Cibyl both works by compiling MIPS binaries and then translating the binary into Java bytecode. And it's efficient, with the main problem being memory access of 8- and 16-byte values which needs to be done in multiple steps.
NestedVM and Cibyl have slightly different performance characteristics, with Cibyl typically being faster for integer-heavy workloads whereas NestedVM handles floats and doubles better. This is because Cibyl uses GCC soft-float support (though using "real" Java bytecode floating point instructions) while NestedVM translates MIPS FPU instructions.
In my guess you would have more luck with either of them instead of Axiomatic C compiler.
精彩评论