Possible Duplicate:
Why an executable program for a specific CPU does not work on Linux and Windows?
Why can’t programs written in linux be executd in windows ? Suppose I compile a simple C program containing function calls that are common to both windows and linux, Does the compiler generate different binary under windows and linux ?
They use different container formats.
Most Linux executables are ELF files; all Windows executables and DLLs are PE files.