Hallöle noch mal, ich hab noch ne kleine Anfängerfrage zum gcc: Ich will bei der Kompilierung sagen, was alles kompiliert werden soll. So nach dem Motto: Ich gebe in meinem Code eine Stelle mit #ifdef/#endif oder mit #ifndef/#endif ein. Wie kann ich dann die Variable definieren? Bsp: main(){ // Einige Initialisierungen #ifdef DEBUG while(1){ // Alles an den UART weitergeben, was an den Eingängen passiert } #else while(1){ // Hauptprogramm ohne DEBUG-Meldungen #endif Wie kann ich nun die Variable DEBUG im Beispiel setzen? MfG Christian
avr-gcc ... -DDEBUG=1 Wenn du nur -DDEBUG schreibst, wird der Makro implizit mit 1 definiert. Sinnvoller als #ifdef DEBUG ist aber #if DEBUG, dann kannst du auf der Kommandozeile auch -DDEBUG=0 angeben.
Geht auch #if debug=xxy ? Dann eben mit avr-gcc [...] -Ddebug=xyz? MfG und Danke Christian PS: Wo sind denn solche Sachen aufgeführt, wie man so was macht? In der man-pager hab ich nämlich nix dazu gefunden.
Sofern xyz passend definiert ist, geht das.
> PS: Wo sind denn solche Sachen aufgeführt, wie man so was macht?
In jedem halbwegs brauchbaren C-Grundlagenbuch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.