vim displays text files, meaning it divides the file into chunks of 8 bits, and reads them as characters (for example 01000001 corresponds to the letter A). Every file in a computer is made of bits, including text files. The name a.out really is irrelevant, though, and the -o flag of gcc is the most widely used.ģ) You are mistaken about the meaning of 'binary'. You do use an assembler, among other things. If you want more details, get a book on compilers.Ģ) See above. 1) The preprocessor processes your # directives, the compiler compiles your code to assembly, the assembler compiles it to machine language, and the linker adds all the necessary bits to make it a complete executable.