mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik unterschiede bei deklaration mit static oder global


Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
habe eine kurze frage und zwar würde ich gerne wissen wie die 
verschiedenen Arten der Variablen Deklaration im RAM behandelt werden.
Im einzelnen
static
global in der main
global in einem anderen file

Hintergrund ist der das ich meinen Speicherplatz im RAM ein wenig 
optimieren muß aber im Augenblick nicht weiß wie ich z.B. einen 
Zählerstand der als static deklariert ist anders merken kann.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias wrote:
> Moin,
> habe eine kurze frage und zwar würde ich gerne wissen wie die
> verschiedenen Arten der Variablen Deklaration im RAM behandelt werden.
> Im einzelnen
> static
> global in der main
> global in einem anderen file
>
> Hintergrund ist der das ich meinen Speicherplatz im RAM ein wenig
> optimieren muß aber im Augenblick nicht weiß wie ich z.B. einen
> Zählerstand der als static deklariert ist anders merken kann.

Gar nicht.
Die von dir genannten Variablen landen letztendlich alle
im SRAM. Es gibt ja auch sonst keine Möglichkeit, wo noch
etwas gespeichert werden könnte.

Man könnte allerdings auf das EEPROM ausweichen. Wie dieses
angesteuert wird, findest du im AVR-gcc Tutorial.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo, der einzige Unterschied zwischen static und global ist, dass die 
static-Variable nur in dem Modul ansprechbar und gültig ist, in dem sie 
declariert würde. Beide bekommen eine feste Adresse im RAM und damit ist 
dieser Speicherplatz nicht mehrfach nutzbar (wie sonst bei lokalen 
Variablen üblich).

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.