Compiling is simply the process of transforming some kind of human-readable code (C, C++, VBasic, C#, Java, Obj-C, anything) into some kind of bytecode, which will be typically stored in a format that can be executed (.EXE, Mach-O executable, ELF, all sort of like a the BMP format, but for programs, if you get what I'm saying), and will be in some sort of architecture (ie i386, x86_64, JVM, etc) that can be executed either in a VM or natively on a processor. It's a very, very complicated process that you shouldn't worry about until you get waaaay more advanced.