unterschiede bei deklaration mit static oder global

Gast #645565
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.
#645772
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.
Gast #645782
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren