Question: what is difference between native compiler and cross compiler?
Answer: A “native” compiler generates code for the architecture on which it runs. I.e. the generated code is executable on the same machine the compiler was executed. A “cross-compiler” generates code for a different architecture. The code won't run on the same machine.