The main difference between compiler and cross compiler is that the compiler is a software that transforms a computer program written in high-level programming language into machine language while the cross compiler is a type of a compiler that can create an executable code for a platform other than the one on which the compiler is running.