Gema exploits a difference between ANSI compliant and non-ansi compliant compilers. If your compiler is really ANSI compliant, it writes image of Dejiko to stdout, otherwise it writes Puchiko (Gema, Dejiko and Puchiko are from DiGi Charat, by Broccoli). Fortunately, with gcc, you get the best of both worlds :) Compile with or without -ansi, and you will get the two programs... I am quite ashamed to have written such blob of code, really ^_^;;