title: Cross-platform: selecting data types to use 32/64 bit
body: <p>I am experimenting with my first cross-platform application that needs to run on Linux Redhat 5.3 and also on Windows XP/Vista/7.</p>
  
  <p>As some OSes will run x86 or 64, I am wondering about what data types to declare.</p>
  
  <p>I don't want to use any libraries to achieve cross-platform portability; I would like to experiment by myself first.</p>
  
  <p>If I need a int, should I declare int32 or int64 or just int?</p>
  
  <p>If I was to compile on a 64-bit OS and use an int32 then the would the data be truncated to a 32 bit value so I would lose some data?</p>
  
  <p>I am wondering how I should declare if I run on different OSes with different architectures.</p>