The compiler uses a special convention for the file names, so that we do not confuse their contents. The name of a source program (the code which you write) is ‘filename.c’. The compiler generates a file of object code from this called ‘filename.o’, as yet unlinked. The final program, when linked to libraries is called ‘filename’ on Unix-like operating systems, and ‘filename.EXE’ on Windows derived systems. The libraries themselves are also files of object code, typically called ‘liblibraryname.a’ or ‘liblibraryname.so’. Header files are always called ‘libname.h’. The endings ‘dot something’ (called file extensions) identify the contents of files for the compiler. The dotted endings mean that the compiler can generate an executable file with the same name as the original source – just a different ending. The quad file and the object file are only working files and should be deleted by the compiler at the end of compilation. The ‘.c’
suffix is to tell the compiler that the file contains a C source program and similarly the other letters indicate non-source files in a convenient way. To execute the compiler you type,
cc filename
For example,
cc foo.c