title: Polygot include file for nasm/yasm and C
body: <p>I have a bunch of magic numbers that I would like to include in both a C program and an assembly file to be compiled by nasm or yasm.</p>
  
  <p>In plain C the file would look something a series of defines, like:</p>
  
  <pre><code>#define BLESS   55378008
  #define ANSWER        42
  ...
  </code></pre>
  
  <p>In nasm or yasm, the same include could be implemented as:</p>
  
  <pre><code>%define BLESS   55378008
  %define ANSWER        42
  ...
  </code></pre>
  
  <p>The only difference is that leading character before the <code>define</code>: <code>#</code> for C and <code>%</code> for nasm. </p>
  
  <p>Is there any way to write a polygot include that allows me to include it in both C and nasm and only list the constants once?</p>
  
  <p><sub>Yes, I'm aware that I could just use <code>sed</code> or whatever to generate one file from the other.</sub></p>