Local im Hauptprogramm
Übersicht

SevenBetreff: Local im Hauptprogramm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe mal wieder eine kleine Verständnis-Frage.
Wenn ich eine Function ![]() dann werden diese ja nach dem durchlaufen der Function ![]() bzw. der alte Wert geht verloren. Bei einer lokalen Variable im Hauptprogramm passiert das nicht, was für mich heißt, dass ich sie nicht los werde. Hier also das selbe Ärgernis, wie bei den globalen. Wäre es hier nicht besser die ganzen in eine Bank einzuspeichern und sie so gegeben falls zu löschen? Wie verhält sich das überhaupt mit den ganzen bank Befehlen? Verbrauchen die viele Ressourcen? Ahja und noch was: Wenn ich Types in einer Function ![]() gelöscht, bzw. nur gelöscht, wenn ich delete ![]() Sind Types dadurch nicht global ![]() Und noch eine nette Idee: Man könnte doch eigentlich dim ![]() oder nicht? (Mit dem Ziel sie im Nachhinein löschen zu können) |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf die Typeliste (oder Collection, wenn du so willst) kann man überall global zugreifen, ja.
Mit Dim kannst du Arrays auch auf 0 verkleinern, wenn du sie nicht mehr so groß brauchst. Locale Variablen einsparen zu wollen ist schlichtweg sinnlos. BlitzBasic erfragt Speicher bei Windows und gibt ihn nicht sofort zurück, wenn er nicht mehr gebraucht wird - schließlich könnte er gleich wieder gebraucht werden, und die Speicherverwaltung nimmt auch Zeit in Anspruch. Wenn du solche Speicheroptimierungen brauchst, machst du was falsch. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/foru...hp?t=37906...
Kann es sein, dass du gerne deine Fragen mehrmals stellst? Gut, es ist eine wenig andere Situation, aber praktisch alle Argumente gelten genauso. ZEVS |
||
Seven |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Joa, ist was ähnliches, aber hier ging es mir eher um lokale Variablen im Hauptprogramm.
Ich fragte mich nämlich, wozu ich sie dort gebrauchen sollte, wenn sie letztendlich den selben Nachteil haben, wie globale. So könnte man gleich immer zu globalen reichen. (zumindest vom Speicherplatz her. Von der Geschwindigkeit weiß ich es nicht) Diesmal habe ich um andere Zusammenhänge gefragt^^ |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nebenbei erwähnt müsstest Du schon sehr sehr viele Variablen erstellen bis Du auf einem halbwegs modernen Rechner ins Trudeln kommst. Weit mehr als in einem normalen Spielchen wie es ein Hobbiist erstellt für die Logistik braucht.
Mit Arrays und Co. ist es um ein Vielfaches leichter sich den Speicher zuzubomben, da lohnt es sich genau zu überdenken welche Informationen man wirklich braucht. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist eine Frage des sauberen programmierens. Globals sind überall aufrufbar, also kann man damit viel Unsinn machen, Locals nicht.
Idealerweise hast du aber bei einem sauberen Code sowieso möglichst wenig direkt im Hauptprogramm stehen, also ist das eigentlich recht unwichtig. Und nein, Arrays durch Banks zu ersetzen ist eine sehr schlechte Idee. Die Größe von Dim-Arrays lässt sich, wie von Xeres bereits gesagt, nachträglich verändern und Blitzarrays sind sowieso lokal. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group