title: How can I get VS Code's IntelliSense to behave like GCC with respect to pre-defines?
body: <p>If I compile and run the following program with gcc, it prints &quot;Defined&quot;. However, in VS Code with the C/C++ extension, the line with <code>printf</code> is greyed out, suggesting it won't be executed.</p>
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;features.h&gt;
  
  int main(int argc, char *argv[])
  {
      #ifdef __USE_MISC
      printf(&quot;%s\n&quot;, &quot;Defined&quot;);
      #endif
  }
  </code></pre>
  <p>I tried getting gcc to output its pre-defines with <code>gcc -E -dM main.c</code>, and put all of those into my <code>C_Cpp.default.defines</code> setting, but I get the same behavior.</p>
  <p>What is the recommended/most robust way of just getting VS Code to see what gcc sees? The above is a minimal example, but it's causing VS Code to fail to pick up type definitions from various system header files even though the code compiles fine.</p>