title: Can someone explain why int takes on different sizes depending on system architecture?
body: <p>Word on the street is that an <code>int</code> varies size depending on the system architecture (which I assume refers specifically to the processor architecture, though I'm probably wrong). That seems like that would be a really brittle setup when trying to run old software on newer processors, or as processors change in general. What was the motivation behind pegging the size of an integer to system architecture?</p>
  
  <p>Also a (related) follow-up question. How does a system with say an IA-32 architecture reach a memory address that's greater than 4G?</p>