=========================================================================
void print(char x) { printf("%c",x); }
void print(int x) { printf("%d",x); }
#define LogDebug_();
#define LogDebug_1(x) print(x);
#define LogDebug_2(x, args...) print(x); LogDebug_1(args);
#define LogDebug_3(x, args...) print(x); LogDebug_2(args);
#define LogDebug_4(x, args...) print(x); LogDebug_3(args);
#define LogDebug_5(x, args...) print(x); LogDebug_4(args);
#define LogDebug_6(x, args...) print(x); LogDebug_5(args);
#define LogDebug_7(x, args...) print(x); LogDebug_6(args);
#define LogDebug_8(x, args...) print(x); LogDebug_7(args);
#define LogDebug_9(x, args...) print(x); LogDebug_8(args);
#define LogDebug_10(x, args...) print(x); LogDebug_9(args);
#define LogDebug_11(x, args...) print(x); LogDebug_10(args);
#define _NUM_ARGS2(X,X64,X63,X62,X61,X60,X59,X58,X57,X56,X55,X54,X53,X52,X51,X50,X49,X48,X47,X46,X45,X44,X43,X42,X41,X40,X39,X38,X37,X36,X35,X34,X33,X32,X31,X30,X29,X28,X27,X26,X25,X24,X23,X22,X21,X20,X19,X18,X17,X16,X15,X14,X13,X12,X11,X10,X9,X8,X7,X6,X5,X4,X3,X2,X1,N,...) N
#define NUM_ARGS(...) _NUM_ARGS2(0, __VA_ARGS__ ,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
#define LogDebug_N2(N, args...) LogDebug_ ## N(args)
#define LogDebug_N(N, args...) LogDebug_N2(N, args)
#define LogDebug(args...) do { LogDebug_N(NUM_ARGS(args), args);} while(0)
void main( void )
{
int Tmp;
int DebugData[160];
for(Tmp = 0;Tmp < 160; Tmp++)
{
DebugData[Tmp] = Tmp;
}
for(Tmp = 0;Tmp < 160; Tmp++)
{
LogDebug(Tmp, ':', DebugData[Tmp]);
}
}
=========================================
|