title: Compiler warning about printf() long unsigned int and uint32_t
body: <p>In my C code, I'm <code>fprintf</code>ing a <code>"%lu"</code> and giving a <code>uint32_t</code> for the corresponding field.  But, when I compile with <code>-Wall</code> in GCC (ver. 4.2.4), I get the following warning:</p>
  
  <pre><code>writeresults.c:16: warning: format '%4lu' expects type 'long unsigned int', but argument 2 has type 
  `uint32_t'
  </code></pre>
  
  <p>Aren't a <code>uint32_t</code> and <code>long unsigned int</code> the same thing on 32-bit architectures?  Can this warning be avoided without eliminating the <code>-Wall</code> compiler switch or using a typecast (and if so, how)?</p>
  
  <p>Yes, I'm still using a 32-bit computer/arch/OS/compiler (too poor at the moment to afford new 64-bit HW).  Thanks!</p>