title: c define multiline macro?
body: <pre><code>#define DEBUG_BREAK(a)\
      if ((a)) \
  {\
      __asm int 3;\
  }
  </code></pre>
  
  <p>I have defined a macro as above, and try to use it </p>
  
  <pre><code>#include "test_define.h"
  int main()
  {
      DEBUG_BREAK(1 == 1);
      return 0;
  }
  </code></pre>
  
  <p>But this sample will not compile. The compiler would complain the parenthesis is not closed. If I add another <code>}</code> in the end of the source file, it compiles.</p>
  
  <p>What's wrong with this macro?</p>