Forum: Compiler & IDEs #if defined (__etwas__) wo wirt etwas definiert?


von chris (Gast)


Lesenswert?

Hallo allerseits,

in einem include file findet sich folgende Anweisung:

#if defined(_AVR_ATmega8_)

Wenn ich das File mit AVR-Studio kompilieren möchte, wo muss ich dann

_AVR_ATmega8_

definieren ?

von (prx) A. K. (prx)


Lesenswert?

Wenn du dem Projekt im Studio sagst, dass du mit einem Mega8 arbeitest, 
dass geschieht dies automatisch. Per Kommandozeile des Compilers.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

A. K. schrieb:
> Per Kommandozeile des Compilers.

Genauer gesagt: aus der Option -mmcu=atmega8, die man dem Compiler
mitgibt (und eine derartige Option ist praktisch Pflicht) generiert
der Compiler intern den Makro
1
__ATmega8__
.

Er generiert auch noch paar andere Makros, ist in

http://www.nongnu.org/avr-libc/user-manual/using_tools.html

erläutert.

von chris (Gast)


Lesenswert?

Vielen Dank für die Info.

chris

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
Noch kein Account? Hier anmelden.