title: Hackly mix C/C++ syntax in single file?
body: <p>I am assigned to port a big project from a dialect of <code>C99</code> to <code>Visual C++ 2013</code>.</p>
  
  <p>The dialect of <code>C99</code>:</p>
  
  <ol>
  <li><p>When <code>C99</code> and <code>C++</code> have different behaviors, choose C++.</p></li>
  <li><p>Supports some <code>C++</code>  features, e.g. function/operator overloading.</p></li>
  <li><p>Supports some <code>C99</code> features, e.g. compound literals, variadic macros, and designated initializer.</p></li>
  </ol>
  
  <p>Before getting stuck, I wanna know if we can write <code>C99/C++</code> mixed code in <code>VS2013</code>?</p>
  
  <p>It must be compiled on both compilers, I guess there might be some amazing pragmas like</p>
  
  <pre><code> struct T {
       int data;
   };
   #pragma CompiledByC99_begin
   struct T tmp = { .data = 1 };
   #pragma CompiledByC99_end
  </code></pre>
  
  <p>Unfortunately, nothing found after Googling. Does such hack exist in <code>VS2013</code>?</p>