title: #ifdef for 32-bit platform
body: <p>In an application I maintain, we've encountered a problem with file descriptor limitations affecting the stdlib. This problem only affects the 32-bit version of the standard lib.</p>
  
  <p>I have devised a fix for my code and would like to implement it, but only when compiling for 32-bit executable. What pre-processor symbol can I #ifdef for to determine whether the code is being compiled for a 32 or 64-bit target?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Sorry, didn't mention, the code is cross-platform, linux, windows, solaris and a few other unix flavors, mostly using GCC for compilation. Any de-facto standards I can use cross-platform?</p>
  
  <p><strong>EDIT 2</strong></p>
  
  <p>I've found some definitions "__ILP23" and "__LP64" that seem like they may work... a discussion <a href="http://www.unix.org/version2/whatsnew/lp64_wp.html" rel="noreferrer">here</a> explains the background on the unix platform. Anyone had any experience with using these defines? Is this going to be usable?</p>