title: Defining a macro to add the prefix 0x to a hex string literal
body: <p>I am trying to get a macro to work in my c program to add <code>0x</code> to a HEX literal as follows:</p>
  
  <pre><code>#define BUILD ABCD0000
  
  #define CONCAT(m, n) m ## n
  #define HEX(x) CONCAT(0x, x)
  
  const uint32_t Id = HEX (BUILD);
  </code></pre>
  
  <p>I get this compiler error: invalid suffix "x" on integer constant.
  Can anyone help?</p>