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.