-D
, the value of a macro can be defined. #include <stdio.h> #define symbol2quotedText(t) #t #define macroValue2quotedText(t) symbol2quotedText(t) int main() { printf("NUMBER = %d\n", NUMBER); printf("TEXT = %s\n", macroValue2quotedText(TEXT)); printf("QUOTED = %s\n", QUOTED); }
gcc -DNUMBER=42 -DTEXT="Unquoted text" -DQUOTED="\"Quoted text\"" prog.c -o prog.exe