Hallo, wenn im Makefile MCU=xxx und SUBMDL=xxx definiert wird, kann man im C/C++ Code eine Unterscheidung mit #if oder #ifdef treffen welcher Code compiliert werden soll? Mfg Thomas Pototschnig
Habs mit -D $(SUBMDL) hingekriegt und dann ganz normal mit #ifdef. Hätte es noch eine andere Lösung gegeben? Mfg Thomas Pototschnig
Das ist die übliche Lösung.
Falls sich das -MMCU=... auf AVR-GCC bezieht, dieser generiert daraus eigene Präprozessormakros für jeden Prozessortyp. Die Namen stehen im avr-libc-Manual (unter "Using the GNU Tool"), z. B. für einen ATmega16 entsteht _AVR__ATmega16_.
Gast
#579059
Ansonsten kann man bei gcc auch einfach mal an die Kommandozeile noch ein -E -dM anhängen und das -o mit dem Zieldateinamen weg. Dann wird eine Liste sämtlicher definierter Makros ausgegeben.
Rolf Magnus wrote: > Ansonsten kann man bei gcc auch einfach mal an die Kommandozeile noch > ein -E -dM anhängen und das -o mit dem Zieldateinamen weg. Dann wird > eine Liste sämtlicher definierter Makros ausgegeben. Guter Tipp, danke! Mfg Thomas
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.