title: What is the difference between '#include' and '##include'?
body: <p>For example:</p>
  
  <pre><code>#include "pathtoheader1/header1.hh"
  ##include "pathtoheader2/header2.hh"
  </code></pre>
  
  <p>What is the difference between these two preprocessor directives?</p>
  
  <p><strong>Edit</strong></p>
  
  <p>From what I can tell, the ##include directive, in the context of the program I am working with, will prepend -I flags to the specified include path.</p>
  
  <pre><code>TRICK_CFLAGS += -Imodels
  TRICK_CXXFLAGS += -Imodels
  </code></pre>
  
  <p>The compiler will now look for:</p>
  
  <pre><code>/models/pathtoheader1/header1.hh
  </code></pre>
  
  <p>instead of</p>
  
  <pre><code>/pathtoheader1/header1.hh
  </code></pre>
  
  <p>These flags are stored in a .mk file.</p>
  
  <p><strong>Additional Information</strong></p>
  
  <p>I am using NASA's Trick Simulation environment to build a simple 2-body simulation of the earth orbiting the sun. The specific tool I am using is called 'trick-CP', Trick's compilation tool. </p>
  
  <p><a href="https://github.com/nasa/trick" rel="nofollow noreferrer">https://github.com/nasa/trick</a></p>