1#define P(a,b) P1(a,b) 2#define P1(a,b) a##b 3 4#define ONCE(x, y) (x ?: (x = y())) 5#define PREFIX 6 7extern int P(PREFIX, init) (void); 8 9int 10fun(void) 11{ 12 static int memo; 13 return ONCE(memo, P(PREFIX, init)); 14} 15