If the compiler coverts source code to machine code (binary) for a specific processor (let say intel), why do we need a compiler for linux and a different compiler for windows is both operating systems have the same processors ? Why is the compiler platform dependent ?
Why can't i run the binary compiled file (let's say i've compiled the file in linux with gcc -Wall -o file file.c) both on linux and widows without recompiling ?
Thanks