How a program using C compiler is executed on a host machine
1. User writes a program in C language (high-level language)
2. The C compiler compiles the program and translates it to assembly program (low-level language)
3. An assembler then translates the assembly program into machine code (object)
4. A linker tool is used to link all the parts of the program together for execution (executable machine code)
5. A loader loads all of them into memory and then the program is executed