- Pre-Processor
- Takes High-Level Language (HLL) as input.
- Converts it into pure HLL (ready for compiler).
-
Tasks:
- File inclusion → adds header file content.
- Macro replace →
#define PI 3.14
→ every PI becomes 3.14. - Small changes → e.g.,
i++
→i = i + 1
.
- Compiler
- Converts pure HLL → Assembly Language.
- Checks errors (syntax, type mismatch, etc.).
- Assembler
- Converts Assembly code → Object code (binary form).
- Linker
- Combines many object files + libraries into one executable file.
- Loader
- Loads the executable file into main memory.
- Then CPU runs the program.
Easy Flow:
High-Level Language → Pre-Processor → Compiler → Assembler → Linker → Loader → Execution
Top comments (0)