1. Native Compiler :
Native compiler are compilers that generates code for the same Platform on which it runs. It converts high language into computer’s native language. For example Turbo C or GCC compiler
2. Cross compiler :
A Cross compiler is a compiler that generates executable code for a platform other than one on which the compiler is running. For example a compiler that running on Linux/x86 box is building a program which will run on a separate Arduino/ARM.
Difference between Native Compiler and Cross Compiler :
Native Compiler | Cross Compiler |
---|---|
Translates program for same hardware/platform/machine on it is running. | Translates program for different hardware/platform/machine other than the platform which it is running. |
It is used to build programs for same system/machine & OS it is installed. | It is used to build programs for other system/machine like AVR/ARM. |
It is dependent on System/machine and OS | It is independent of System/machine and OS |
It can generate executable file like .exe | It can generate raw code .hex |
TurboC or GCC is native Compiler. | Keil is a cross compiler. |
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.