what's underneath arduino?

I wonder what is the real language underneath arduino? as for processig, it transforms the processing source code into Java source code, and then compiles it. does arduino transform soruce code to.... Java Micro Edition? C? C++?

how can one directly code for it? what are the limitations? what libraries can one use? if C or C++, what target platform to use for cross-compilation with gcc?

Arduino code is C (and C++)

when you press the compile button the only thing that gets added is an include statement at the beginning of the program
the .o file is then linked with a few libraries (where one of them contains the main() function)

look in the various directories and you will find out!!

massimo

thanks for the tip. I just looked at the gentoo linux toolchain instructions at Arduino on Gentoo Linux , and now it's clear to me. I guess the arduino has an Atmel AVR 8-bit RISC CPU inside, as in here: http://www.atmel.com/products/AVR/

just out of curiosity, which CPU model is it specifically?

but this information is useful, now I know that one just has to port libraries to the AVR target to use them in arduino.

Sorry for my ignorance, it's the ATmega8 obviously...