>>29
1. gcc uses the old version of the ansi c standard by default. use -std=c99, #include <stdint.h>, and int64_t will work.
2. it should be an error in c++, because '09' isn't a valid value for a char in c++. g++ is broken.
3-5. they are valid points to demonstrate that c++ is not an extension to c. c and c++ are very different languages, and you obviously don't know c.