Reentrant - was muss wo liegen

Gast #745507
Lesenswert?

Hallo,
damit eine Funktion wiedereintrittsfähig wird, was muss ich da genau 
beachten? Lokale Variablen liegen doch auf dem Stack!? Heißt das, dass 
ich lediglich referenzen auf globale Variablen innerhalb einer Funktion 
vermeiden  muss, damit diese "reentrant" wird? Habe in meinem Skript 
allerdings gelesen, dass wenn man eine Funktion reentrant machen möchte, 
man auf "lokale" Variablen verzichten muss. Was wird damit wohl gemeint 
das?
Wo liegen dann die Funktionparamter?

Vielen Dank!
Gast #745524
Lesenswert?

Was bei unüberlegten Benutzung Ärger macht, sind Schreibzugriffe auf 
statische oder globale Variablen, oder Lesezugriffe auf statische oder 
globale Variablen die von ausserhalb der Reentranten-Funktion verändert 
werden.

Für den Anfang färst Du mit lokalen Variablen, also auf dem Stack 
abgelegte, zu 100% sicher.
Gast #745560
Lesenswert?

> ihr sagt "keine globalen Variablen" und die Wikipedia sagt keine
> lokalen Variabeln :

Wo steht das in dem Artikel? Ich habe nichts dergleichen gefunden.

Dafür steht da, dass keine statischen (globalen) nichtkonstanten Daten
verwendet werden dürfen. Das entspricht doch genau dem, was die
Vorposter geschrieben haben, oder?
Beitrag #5787714 wurde von einem Moderator gelöscht.

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