Ersetzen Sie den Makro-Wert #define X durch einen anderen, der im Kompilierungsbefehl @ angegeben is
Angenommen, ich habe diesen Code:
#include<stdio.h>
#ifndef STR
#define STR "HELLO"
#endif
int main()
{
printf(STR "WORLD \n");
return 0;
}
Was im Grunde übersetzt bedeutet: Wenn STR nicht definiert wurde, definieren Sie es als "HALLO", sodass die Programmausgabe @ is
HALLO WEL
Nun, meine Frage ist: Wie kann ich diesen STR-Wert beim Kompilieren mit gcc ändern? Ich möchte beispielsweise "HELLO" in "HI" ändern, ohne etwas in der Quelldatei (program.c) zu ändern.
Was ist die gcc-Syntax dafür?
Ich habe es versuch
gcc -Wall program.c -DSTR = "HI" -o program
aber es wurde nicht die erwartete Ausgabe erzeugt.
Irgendwelche Vorschläge
Vielen Dank