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


von Tobias (Gast)


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.

von Karl H. (kbuchegg)


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.

von crazy horse (Gast)


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).

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.