title: why we must recompile a c source code for a different os on the same machine?
body: <p>When I compile my c source code (for example in a Linux environment) the compiler generates a file in a "machine readable" format.</p>
  
  <ul>
  <li>Why the same file is not working on the same machine under a different operating system?</li>
  <li>Is the problem about the way we "execute" this file?</li>
  </ul>