eigene compiler flags?
-
Hallo,
ich habe bisher noch nie eigene compiler flags benutzt. Wie mache ich das.
Ich weiß dass ich code durch #if #elsif und #else einbauen kann aber wie compilier ich dann im richtigen mode?
Wie muss ich mein makefile anpassen?Danke
-
also ich dachte man kann die variable die für die bedingte kompilierung verantwortlich ist aus dem makefile heraus setzen? Geht das nicht? Kann ich die nur in meinem Programm über #define setzen?
-
bei den meisten compiler sollte -Dmeinmacroname=meinmacro bzw. -Dmeinmacroname als parameter das machen, was du willst.
-
Hmm...
also ich versuche das so:
#ifdef myvar //tue was #else // tue was anderes #endifund im makefile dann als compilerflag -Dmyvar=0 oder -Dmyvar=1 , aber beides läuft bei mir nur in den if-zweig ???
-
is ja auch richtig. du prüfst, ob das makro definiert ist. das ist unabhängig davon, ob es 1 oder 0 ist. will heißen: wenn du -Dmeinmacro benutzt, ist meinmacro danach definiert.
wenn du das mit 1 und 0 machen willst, geht das so:#if myvar == 1 [...]//code für myvar == 1 #elif myvar == 0 [...] #else #error "murks" #endif