#define DEBUG_BREAK(a)\\
if ((a)) \\
{\\
__asm int 3;\\
}
I have defined a macro as above, and try to use it
#include \"test_d
The macro
#define DEBUG_BREAK(a)\
if ((a)) \
__asm int 3;
works fine but
#define DEBUG_BREAK(a)\
if ((a)) \
{\
__asm int 3;\
}
doesn't! And I think anyone could guess why!! The new line operator is the problem making guy!
It takes
__asm int 3;\
}
as
__asm int 3; }
where ; comments out what follows it (in assembly). So we will miss a } then.