Wieso funktioniert zwar folgendes:
Code: Alles auswählen
#define WIDEN2(str) (L ## str)
#define WIDEN(str) WIDEN2(str)
#define __FILEW__ WIDEN(__FILE__)
Code: Alles auswählen
#define WIDEN(str) (L ## str)
#define __FILEW__ WIDEN(__FILE__)
Code: Alles auswählen
#define WIDEN2(str) (L ## str)
#define WIDEN(str) WIDEN2(str)
#define __FILEW__ WIDEN(__FILE__)
Code: Alles auswählen
#define WIDEN(str) (L ## str)
#define __FILEW__ WIDEN(__FILE__)
Code: Alles auswählen
#define STR(x) #x
#define CONCAT(x, y) x ## y
const char foo[] = STR(Test);
conct char bar[] = CONCAT(foo, bar);