title: Determining whether compiling on Windows or other system
body: <p>I'm currently developing a cross-platform <strong>C</strong> application.
  Is there any compiler macro which is defined only during compilation on Windows, so I can <code>#ifdef</code> some Windows specific #includes?</p>
  
  <p>Typical example is selecting between WinSock and Berkeley sockets headers:</p>
  
  <pre><code>#ifdef _WINDOWS
     #include &lt;winsock.h&gt;    
  #else
     #include &lt;sys/socket.h&gt;
     #include &lt;netinet/in.h&gt;
     #include &lt;sys/un.h&gt;
     #include &lt;arpa/inet.h&gt;
     #include &lt;netdb.h&gt;
  #endif
  </code></pre>
  
  <p>So the thing I'm looking for is something like that <b>_WINDOWS</b> macro.</p>