DELETE
- CodeCommander
- Beiträge: 213
- Registriert: 02.03.2014 16:06
DELETE
~ DELETE ~
Zuletzt geändert von CodeCommander am 18.01.2015 14:52, insgesamt 1-mal geändert.
~ DELETE ~
Re: Variable freigeben
Variablen werden (sobald sie benutzt werden) beim kompilieren reserviert und das unabhängig davon ob sie vorher explizit mit Define definiert wurden.
Variablen in Proceduren, werden im Stack erzeugt und somit nach Beendigung der Procedure wieder freigegeben.
Also nein.
Gibt es denn ein Grund warum du den "winzigen" Speicher den eine Variable belegt wieder freigeben musst?
Variablen in Proceduren, werden im Stack erzeugt und somit nach Beendigung der Procedure wieder freigegeben.
Also nein.
Gibt es denn ein Grund warum du den "winzigen" Speicher den eine Variable belegt wieder freigeben musst?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- CodeCommander
- Beiträge: 213
- Registriert: 02.03.2014 16:06
~ DELETE ~
Zuletzt geändert von CodeCommander am 18.01.2015 14:52, insgesamt 1-mal geändert.
~ DELETE ~
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Variable freigeben
Purebasic unterstützt keine Scopes wie es C/C++ tut. In Purebasic gibt es nur einen globalen Scope, einen Scope pro Aufruf einer Procedure, einen Scope pro Thread und das war's glaube ich schon.
Re: Variable freigeben
Ja ist mir bekannt.CodeCommander hat geschrieben:dass du innerhalb einer Schleife Variablen deinieren kannst die nach Schleifenbeendigung wieder ungültig und nicht nutzbar sind.
Nein ist es nicht, da ja die Kompilierung ganz anders ablaufen müsste.CodeCommander hat geschrieben:i wird im Schleifenkopf definiert und ist nur innerhalb dieser Schleife gültig. Nutzung von i außerhalb nicht möglich. Genau das will ich. Irgendwie möglich in PB?
Alle VariableNamen werden immer als Defined angenommen und sind somit im gesamten Main-Programm gültig und nutzbar.
@Nic: Naja zumindest Module erlauben noch den lexikalischen Scope.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Variable freigeben
Also gibt es, außer den "neuen" Modulen, keine Möglichkeit, dass mein Programm im Hauptprogramm definierte Variablen wieder vergisst?
Ist es sinnvoll, Variable wie andere Elemente, die durch eine Initialfunktion eingerichtet werden und durch eine Close...()- oder Free...()-Funktion wieder verdampft werden, zu betrachten? Wenn, währe es ja sinnvoll, diese wieder zu dejustieren.
Was haltet ihr von der Idee, alle Variablen des Hauptprogramms in eine Funktion zu packen und diese, nennen wir sie main() oder init(), einmal aufzurufen? Dann fehlen zwar globale Variablen, aber von deren Verwendung wird einem ja fast überall abgeraten...
Ist es sinnvoll, Variable wie andere Elemente, die durch eine Initialfunktion eingerichtet werden und durch eine Close...()- oder Free...()-Funktion wieder verdampft werden, zu betrachten? Wenn, währe es ja sinnvoll, diese wieder zu dejustieren.
Was haltet ihr von der Idee, alle Variablen des Hauptprogramms in eine Funktion zu packen und diese, nennen wir sie main() oder init(), einmal aufzurufen? Dann fehlen zwar globale Variablen, aber von deren Verwendung wird einem ja fast überall abgeraten...
Re: Variable freigeben
Variablen oder andere Programm-Elemente können weder "verdampft" noch "dejustiert" werden.es_91 hat geschrieben:Ist es sinnvoll, Variable wie andere Elemente, die durch eine Initialfunktion eingerichtet werden und durch eine Close...()- oder Free...()-Funktion wieder verdampft werden, zu betrachten? Wenn, währe es ja sinnvoll, diese wieder zu dejustieren.
Re: Variable freigeben
Danke für die Deutschlektion.Nino hat geschrieben:Variablen oder andere Programm-Elemente können weder "verdampft" noch "dejustiert" werden.
Du liegst aber falsch, falls Du mit Deiner Aussage erklären wolltest, dass Programmelemente nicht (manchmal) deinitialisiert werden sollten.
Zuletzt geändert von es_91 am 07.12.2014 11:36, insgesamt 1-mal geändert.
Re: Variable freigeben
Meine Aussage hat durchaus einen Hintergrund.es_91 hat geschrieben:Hoffentlich hat Deine Aussage auch einen technischen Hintergrund,
Wenn Du das nicht selbst verstehst, kann ich Dir allerdings nicht helfen.
//edit:
Ich wollte genau das erklären, was ich erklärt habe. Wer sinnverstehend lesen kann, ist klar im Vorteil.Geänderte Nachricht von es_91 hat geschrieben:Du liegst aber falsch, falls Du mit Deiner Aussage erklären wolltest,
Zuletzt geändert von Nino am 07.12.2014 18:38, insgesamt 1-mal geändert.
Re: Variable freigeben
So, dann erkläre, warum 'Variablen oder andere Programm-Elemente' nicht deinitialisiert werden können oder sollten!