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 DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference between Cross-Assembler and Compiler
- Difference between Compiler and Assembler
- Difference between Compiler and Interpreter
- Compiler Theory | Set 1
- Phases of a Compiler
- Compiler Theory | Set 2
- Bootstrapping in Compiler Design
- Introduction of Compiler Design
- Why FIRST and FOLLOW in Compiler Design?
- Symbol Table in Compiler
- Three address code in Compiler
- Compiler construction tools
- Data flow analysis in Compiler
- Basic Blocks in Compiler Design
- Semantic Analysis in Compiler Design
- Peephole Optimization in Compiler Design
- Loop Optimization in Compiler Design
- Types of Parsers in Compiler Design
- Error detection and Recovery in Compiler
- Input Buffering in Compiler Design
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.