title: How to understand the macro of "__xg"?
body: <p>the codes:</p>
  
  <pre><code>struct __xchg_dummy { unsigned long a[100]; };
  #define __xg(x) ((struct __xchg_dummy *)(x))
  </code></pre>
  
  <p>I'm confused with "unsigned long a[100]".So ,how to understand this macro?<br></p>