Forum: Compiler & IDEs Was bedeutet: __attribute__ ?


von FrageMan (Gast)


Lesenswert?

Hallo,

kann mir bitte jemand helfen... ich möchte gerne wissen, was diese 
kommische Zeile bedeutet... _attribute_

Es wird manchmal angehängt... was kann man damit alles machen?

DANKE

von hamstibamsti (Gast)


Lesenswert?

www.gidf.de

1. Treffer.....

von Peter Diener (Gast)


Lesenswert?

Hallo,

das kennzeichnet eine Compileranweisung,
z.B. attribute PROGMEM setzt beim AVR-GCC eine deklarierte Variable in 
den Programmspeicher.

Auf attribute folgt immer eine Anweisung. Was die macht, hängt vom 
Compiler ab.

Grüße,

Peter

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

_attribute_ ist eine GCC-Erweiterung. Damit kann man zusätzlich 
Attribute an Programmteile kleben. Andere Compiler machen sowas zum 
Beispiel mit #pragma, aber die GCC-Programmierer mögen #pragma nun mal 
nicht.

Welche Attribute es gibt und was sie machen? Tja, die Attribute die für 
alle Plattformen gelten sind dokumentiert 
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Function-Attributes.html und 
die folgenden Abschnitte.

Für Attribute, die nur auf einer speziellen Plattform funktionieren, ist 
man häufig gekniffen. Die werden als Geheimwissen gehandelt und tauchen 
häufig nur plötzlich in irgendwelchen Headern auf.

von Rolf Magnus (Gast)


Lesenswert?

> Andere Compiler machen sowas zum Beispiel mit #pragma, aber die
> GCC-Programmierer mögen #pragma nun mal nicht.

Das hat nichts mit mögen zu tun, sondern liegt daran, daß #pragma für 
sowas eigentlich nicht sehr gut geeignet und etwas umständlich ist.

> Für Attribute, die nur auf einer speziellen Plattform funktionieren,
> ist man häufig gekniffen.

Nein. Die sind auch im selben Manual dokumentiert.

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.