www.mikrocontroller.net

Forum: Compiler & IDEs Was bedeutet: __attribute__ ?


Autor: FrageMan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hamstibamsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.gidf.de

1. Treffer.....

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht 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/Functi... 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.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.