title: Converting the list of numbers in hexadecimal string in C preprocessor
body: <p>How to convert the list of the 16bit numbers to the hexadecimal string like <code>"\x0f\x56\x44\xe0"</code>.</p>
  
  <p>How do these 16 bit values look? They are the result of the macro expansion too <code>#define make_word(arg1, arg2) arg1 &lt;&lt; 16 + arg2</code>. So the full call should look like:
  <code>
  some_function(MAKE_HEX_STR(make_word(1, 2), make_word(3, 4), make_word(5, 6));
  </code>
  and should expands to the:
  <code>
  some_function("\x01\x02\x03\x04\x05\x06);
  </code></p>